如何在 Javascript 中将一个数组重叠到另一个数组中?

问题描述 投票:0回答:0

我想将一个数组重叠到另一个数组中。 例如)

const arr1 = [{id: 'a', value1: 1, value2: 2, value3: 3}, {id: 'b', value1: 1, value2: 2, value3: 3}, {id: 'c', value1: 1, value2: 2, value3: 3}]
const arr2 = [{id: 'a', value1: 11, value2: 2, value3: 3}, {id: 'b', value1: 1, value2: 2, value3: 3}, {id: 'c', value1: 1, value2: 2, value3: 3}]
const arr3 = [{id: 'a', value1: 1, value2: 2, value3: 3}, {id: 'b', value1: 1, value2: 222, value3: 3}, {id: 'c', value1: 1, value2: 2, value3: 3}]

我想将这些 arr2 和 arr3 数组组合成 arr1 数组,所以结果应该是

const result = [{id: 'a', value1: 11, value2: 2, value3: 3}, {id: 'b', value1: 1, value2: 222, value3: 3}, {id: 'c', value1: 1, value2: 2, value3: 3}]

我试过像这样构建代码

const combined1 = arr1.map((arr1Prev, index) => arr2.map((arr2Prev) => {
 const x = arr1Prev.id === arr2Prev.id ? Object.assign({}, arr1Prev, arr2Prev) : {...arr1Prev}
 return x[index]
}))
const result = combined1.map((combined1Prev, index) => arr3.map((arr3Prev) => {
 const x = combined1Prev.id === arr3Prev ? Object.assign({}, combined1Prev, arr3Prev) : {...combined1Prev}
 return x[index]
}))

这看起来很复杂,如果有更好的方法,我想学习一下。

谢谢!

javascript arrays object
© www.soinside.com 2019 - 2024. All rights reserved.