首页 > 解决方案 > 添加两个不同数组的对象

问题描述

我有两个数组,每个数组都有对象。如何最好地简化将两个对象添加到一个但在一个新列表中。例如

a = [{a:1, b:2, c:3}, {d:1, e:4, f:2}]
b = [{m:1, n:2, o:4}, {r:1,s:3,u:5}, {k:1,j:4,f:8}]

z = [{a:1, b:2, c:3, m:1, n:2, o:4}, {d:1, e:4, f:2, r:1,s:3,u:5}, {k:1,j:4,f:8}]

假设您有 list ab我想将每个位置的对象添加到 list 中z

标签: javascriptarraysobjectecmascript-6

解决方案


您可以先检查两个数组的长度,然后合并它们。

const a = [{ a: 1, b: 2, c: 3 }, { d: 1, e: 4, f: 2 }]
const b = [{ m: 1, n: 2, o: 4 }, { r: 1, s: 3, u: 5 }, { k: 1, j: 4, f: 8 }]

const mergeArrays = (arr1, arr2) => arr1.map((x, i) => ({ ...x, ...arr2[i] }))

const z = a.length > b.length ? mergeArrays(a, b) : mergeArrays(b, a);
console.log(z);


推荐阅读