javascript - 如何将元素添加到数组中的对象
问题描述
我正在发出一个 http 请求并取回 2 组数据。它们都是对象数组。我想将一个数组中的一个元素添加到另一个数组中。因此,一个数组如下所示:
[
{ name: 'Bob', age: '21'}
{ name: 'Sue', age: '34'}
]
然后另一个看起来像这样:
[
{ gender: 'male'}
{ gender: 'female'}
]
我试着像这样加入他们:
const arr = [...arr1, ...arr2];
但这给了我:
[
{ gender: 'male' }
{ gender: 'female' }
{ name: 'Bob', age: '21'}
{ name: 'Sue', age: '34'}
]
它应该看起来像:
[
{ name: 'Bob', age: '21', gender: 'male' }
{ name: 'Sue', age: '34', gender: 'female'}
]
我怎样才能做到这一点?
解决方案
我假设下面两个数组具有相同的长度,并使用元素索引进行合并。
let data1 = [
{ name: 'Bob', age: '21'},
{ name: 'Sue', age: '34'}
];
let data2=[
{ gender: 'male'},
{ gender: 'female'}
];
// basically merge objects with same index from both arrays, using object spread operator
let result = data1.map((x,i)=>({
...x,
...data2[i]
}));
console.log(result)