假设我有两个对象数组,如下所示:
var arr1 = [{name: 'Jay'}, {name: 'Bob'}]; var arr2 = [{age: 22}, {age: 30}];
我想要一个像这样的组合数组:
var arr3 = [{name: 'jay', age: 22}, {name: 'Bob', age: 30}];
您可以放心地假设两个初始数组将具有彼此匹配的索引,这意味着arr1的索引0将始终与arr2的索引0一起使用.
实现这一目标的最快方法是什么?我想象一个forEach
嵌套在另一个forEach
循环中的循环并arr1
使用当前对象扩展每个对象arr2
,但我觉得这可能太复杂了.
您可以使用第一次迭代中的索引迭代一个数组并创建一个新数组.有很多方法可以做到这一点.这是一个:
var arr1 = [{name: 'Jay'}, {name: 'Bob'}];
var arr2 = [{age: 22}, {age: 30}];
var combined = arr1.map(function(item, index) {
return {name: item.name, age: arr2[index].age};
});
document.write(JSON.stringify(combined));