我有 2 个 JSON 数组,如下所示 数组1:
[
{ id : 1, b: 1},
{ id : 2, b: 2},
{ id : 3, b: 3},
]
数组2:
[
{ id : 1, c: 1},
{ id : 3, c: 3},
{ id : 4, c: 4}
]
使用 NodeJS 代码,我需要将两者结合起来,如下所示。
联盟:
[
{ id : 1, b: 1, c:1},
{ id : 2, b: 2},
{ id : 3, b: 3, c:3},
{ id : 4, c: 4}
]
有人可以提供最好的帮助吗?
最佳答案
您可以简单地连接两个数组,然后使用 Array.reduce对元素进行分组:
let a1 = [ { id : 1, b: 1}, { id : 2, b: 2}, { id : 3, b: 3} ]
let a2 = [ { id : 1, c: 1}, { id : 3, c: 3}, { id : 4, c: 4} ]
let result = [...a1, ...a2].reduce((acc,cur) => {
acc[cur.id] = {...acc[cur.id] || {}, ...cur}
return acc
}, {})
console.log(Object.values(result))
关于javascript - JSON 数组联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56464402/