[英]How to combine two arrays into a single? (React JS)
有两个 arrays 如下所示。
const arrayA = {
0: {
id: XXXXXXX,
name: "test"
},
1: {
id: YYYYYYY,
name: "example"
}
}
const arrayB = {
0: {
id: XXXXXXX,
category: "sea",
}
1: {
id: YYYYYYY,
category: "mountain"
}
}
我想通过每个 id 将这两个 arrays 组合成一个,如下所示:
array C = {
0: {
id: XXXXXXX,
name: "test",
category: "sea",
},
1: {
id: YYYYYYY,
name: "example",
category: "mountain"
}
}
最聪明的方法是什么?
实际上,不存在 arrays,而是具有索引等键的对象。 您可以使用Object.keys
进行迭代,并通过对象通过键合并它们。
const arrayA = { "0": { id: 0, name: "test" }, "1": { id: 1, name: "example" } } const arrayB = { "0": { id: 0, category: "sea", }, "1": { id: 1, category: "mountain" } } const arrayC = {} for(const key of Object.keys(arrayA)) { arrayC[key] = {...arrayA[key], ...arrayB[key], } } console.log(arrayC)
您还可以使用reduce
而不是通常的迭代
const arrayA = { "0": { id: 0, name: "test" }, "1": { id: 1, name: "example" } } const arrayB = { "0": { id: 0, category: "sea", }, "1": { id: 1, category: "mountain" } } const arrayC = Object.keys(arrayA).reduce((result, key) => ({...result, [key]: {...arrayA[key], ...arrayB[key] } }), {}) console.log(arrayC)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.