我有几个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]]
任何人都可以为我提供一些想法或代码。
答案 0 :(得分:2)
您可以使用Array.prototype.map()
返回一个对象数组,其中数组的第一个元素设置为属性"Player"
的值,数组的第二个元素设置为属性"Age"
的值
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;
答案 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)
答案 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)