[英]Key Value pair from an array with key Value pair in javascript
我有一个像这样的数组:
var arrayTemp = [
{"0":["Z",59]},
{"1":["D",53]},
{"2":["6",26]},
{"3":["3",19]},
{"4":["Y",10]},
{"5":["H",7]},
{"6":["G",5]},
{"7":["2",5]}
];
我需要类似下面的输出,
var arrayTemp = [
{"Z":59},
{"D":53},
{"6":26},
{"3":19},
{"Y":10},
{"H":7},
{"G":5},
{"2":5}
];
我该如何实现? 我希望在json,下划线或JavaScript的帮助下实现这一目标。
使用Array.prototype.map()可以遍历原始数组的每个元素并创建所需的对象,并将它们作为新元素返回到新数组中。
var newArray = arrayTemp.map(function(e, index) {
var x = {};
x[e[index][0]] = e[index][1];
return x;
})
演示 -使用Array.prototype.map()
创建新数组
像这样:
var newArray = arrayTemp.map(function(e) {
var index = Object.keys(e).shift(),
innerElement = e[index],
ret = {};
ret[innerElement[0]] = innerElement[1];
return ret;
})
JsFiddle进行测试。
带下划线:
var newArr = _.map(arrayTemp, function(item){
for (var i in item){
var o = {};
o[item[i][0]] = item[i][1];
return o;
}
});
尽管@François_Wahl的解决方案使用本机Array.prototype.map()在我看来是更好的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.