gpt4 book ai didi

javascript - 合并数组中的重复对象

转载 作者:行者123 更新时间:2023-11-28 17:09:37 25 4
gpt4 key购买 nike

我有一个数组如下:

original = [
{
id:1,
value1 : 500
},
{
id:1,
value2 : 600
},
{
id:2,
value1 : 700
},
{
id:3,
value2 : 750
}
];

我想合并上面数组中的重复对象,并希望最终输出数组如下:

finalArr = [
{
id:1,
value1:500,
value2:600
},
{
id:2,
value1:700,
value2:null
},
{
id: 3,
value1: null,
value2:750
}
];

如何使用 JavaScript 或 TypeScript 实现此目的?

最佳答案

您可以使用reduce、map组合

const original = [
{
id:1,
value1 : 500
},
{
id:1,
value2 : 600
},
{
id:2,
value1 : 700
},
{
id:3,
value2 : 750
}
];

const res = [...original.reduce(
(a, b) => a.set(b.id, Object.assign((a.get(b.id) || {value2: null, value1: null, id: null}), b)),
new Map
).values()];

console.log(res);

关于javascript - 合并数组中的重复对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54809558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com