首页 > 解决方案 > 如何将元素添加到数组中的对象

问题描述

我正在发出一个 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'}
]

我怎样才能做到这一点?

标签: javascriptnode.js

解决方案


我假设下面两个数组具有相同的长度,并使用元素索引进行合并。

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)


推荐阅读