如何在JSON对象中组合多个键值?

Shr*_*Pai 6 javascript jquery json

我有这个示例JSON对象

var sample = [{
    "label": "one",
    "value": 1
}, {
    "label": "two",
    "value": 2
}, {
    "label": "three",
    "value": 3
}, {
    "label": "four",
    "value": 4
}, {
    "label": "five",
    "value": 5
}];
Run Code Online (Sandbox Code Playgroud)

我想改变这样的事情

var sample = [{
    "label": "one",
    "value": 1,
    "newKeyValue": "one|1"
}, {
    "label": "two",
    "value": 2,
    "newKeyValue": "two|2"
}, {
    "label": "three",
    "value": 3,
    "newKeyValue": "three|3"
},
...
];
Run Code Online (Sandbox Code Playgroud)

它应该结合两个键值并返回组合两者的新键值.

JSON是动态的关键标签,价值不是静态的,它可以是任何东西.例如[{"name":"srinivas","lastname":"pai"}]

Cyr*_*ian 4

您可以像这样使用地图:

编辑

为了处理通用键,您可以将 Object.keys(d)[0]第一个键 Object.keys(d)[1]用于第二个键

var sample = [

     {
      "label":"one",
      "value":1
     },

     {
      "label":"two",
      "value":2
     },
     {
      "label":"three",
      "value":3
     },
     { 
      "label":"four",
      "value":4
     },
     { 
      "label":"five",
      "value":5
      }

     ];
    var data = sample.map(function(d){
     return {label: Object.keys(d)[0], value: Object.keys(d)[1], newKeyValue:  Object.keys(d)[0] +"|" + Object.keys(d)[1]}
    }) 
    console.log(data)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!