使用javascript将密钥关联到没有密钥的JSON数组

时间:2016-09-30 04:37:34

标签: javascript json key

我有几个JSON数组。他们看起来像

Map<Character, Integer> map; for (int i=0;i<str.length,i++){ char c = s.charAt(i); switch(c){ case: map.containsKey(c): int temp = map.get(c)++; map.put(c, tmp); break; case: !map.containsKey(c): map.put(c, tmp); break; } }

我想准备一个Javascript代码,将这些数组数组转换为JSON数组但是带有键,如下所示:

[["Vishnu", 25],["Joginder", 22],["Amar", 27],["Rohan", 24],["Karan", 23]]

任何人都可以为我提供一些想法或代码。

3 个答案:

答案 0 :(得分:2)

您可以使用Array.prototype.map()返回一个对象数组,其中数组的第一个元素设置为属性"Player"的值,数组的第二个元素设置为属性"Age"的值

&#13;
&#13;
var arr = [["Vishnu", 25]
          ,["Joginder", 22]
          ,["Amar", 27]
          ,["Rohan", 24]
          ,["Karan", 23]
          ];

var res = arr.map(function(el, index) {
   return {"Player":el[0], "Age": el[1]}
});

console.log(res);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

第一个数组是一个数组(2D)数组的数组,而您打算创建的新数组需要是一个json对象数组。

var orArray = [
  ["Vishnu", 25],
  ["Joginder", 22],
  ["Amar", 27],
  ["Rohan", 24],
  ["Karan", 23]
];

var newJsonArray = [];

// loop through the original array
orArray.forEach(function(item) {
  //check if item is an array
  if (Array.isArray(item)) {
    var _obj = {}; // Create an empty object;
    _obj.Player = item[0];// create first key;
    _obj.Age = item[1]; //Push second key
    newJsonArray.push(_obj) // Push to new array
  }
})
console.log(newJsonArray)

DEMO

答案 2 :(得分:0)

您可以使用Array.map()迭代播放器数组并在每个元素上调用函数。每次迭代返回的值将创建一个新的Array

var players = [["Vishnu", 25],["Joginder", 22],["Amar", 27],["Rohan", 24],["Karan", 23]]

// map over the players multidimensional array
var playersObjects = players.map(function(player) {
  // inside the callback player is the current element
  // return an object with the correct properties
  return {
    Player: player[0],
    Age: player[1]
  }
})

console.log(playersObjects)