使用 JavaScript 将两个数组合并为一个对象数组
2017-06-25
55
给定数组
名称
['a','b','c']
数据
[1 , 2 , 3]
我想要结果
[{name: 'a', data: 1}, {name: 'b', data: 2}, {name: 'c', data: 3}]
,
我可以做到
let combinedData = [];
for (let i = 0; i < data.length; i++) {
combinedData.push({name: name[i], data: data[i]});
}
但我正在寻找一种优雅的方式,试一试。(使用外部库是可以接受的,例如 lodash)
3个回答
您可以使用 Array.map :
let name = ['a','b','c'];
let data = [1,2,3];
let combined = name.map((v, i) => ({name: v, data: data[i]}));
console.log(combined);
rgthree
2017-06-25
一个简单的 es6 解决方案可能是:
let arr1 = ...;
let arr2 = ...;
let data = arr1.map((item, i) => ({a: item, b: arr2[i]}));
Shane
2017-06-25
180731939
Osama
2017-06-25