gpt4 book ai didi

Javascript 检查重复项并添加重复的 id

转载 作者:行者123 更新时间:2023-12-04 02:17:13 27 4
gpt4 key购买 nike

我有以下数组

const prod = [
{name:'Test1',vals:[12]},
{name:'Test1', vals:[14]},
{name:'Test2', vals:[19]}
//other array items
]

我想做的是将两个 Test1 组合成一个 vals 数组,这样最终的数组就会有

 const finalprod = [
{name:'Test1',vals:[12,14]},
{name:'Test2', vals:[19]}
//other array items
]

所以我试过了

    prod.forEach(item=>{
//check if name is contained in the array -am stuck here
});

我对如何进行感到困惑。我如何继续获取最终数组?

最佳答案

使用reduce代替forEach,查找累加器中的项,如果存在则将vals与当前元素的值合并,否则就将其插入累加器:

const prod = [
{name:'Test1',vals:[12]},
{name:'Test1', vals:[14]},
{name:'Test2', vals:[19]}
]

const finalprod = prod.reduce((acc, curr) => {
const ndx = acc.findIndex(e => e.name === curr.name);

if (ndx > -1)
acc[ndx].vals = [...acc[ndx].vals, ...curr.vals];
else
acc.push(curr);

return acc;
}, []);

console.log(finalprod);

关于Javascript 检查重复项并添加重复的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57794781/

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