我有一个这样的列表:

我想用collect same items将这个列表收集到另一个列表中。
我想要像下面这样的新列表结果
{ mold: "T1164021", panchiNumber: 30 }
{ mold: "T2034101", panchiNumber: 8 }
{ mold: "T3726101", panchiNumber: 8 }
{ mold: "T3049021", panchiNumber: 4 }
{ mold: "T1024031", panchiNumber: 36 }
{ mold: "T3099051", panchiNumber: 28 }谁能告诉我我应该怎么做才能得到这样一个新的名单?
感谢您阅读我的帖子!
发布于 2021-07-26 13:10:19
尝试使用array.reduce方法。
const parentArr = [
{ mold: 'T1164021', panchiNumber: 12},
{ mold: 'T1164021', panchiNumber: 12},
{ mold: 'T1164021', panchiNumber: 6},
{ mold: 'T2034101', panchiNumber: 8},
{ mold: 'T3726101', panchiNumber: 8},
{ mold: 'T3049021', panchiNumber: 4},
{ mold: 'T1024031', panchiNumber: 12},
{ mold: 'T1024031', panchiNumber: 12},
{ mold: 'T1024031', panchiNumber: 12},
{ mold: 'T3099051', panchiNumber: 4},
{ mold: 'T3099051', panchiNumber: 12},
{ mold: 'T3099051', panchiNumber: 12},
]
const newArr = parentArr.reduce((acc, curr) => {
const node = acc.find((item) => item.mold === curr.mold);
if (node) {
node.panchiNumber += curr.panchiNumber;
} else {
acc.push(curr);
}
return acc;
}, []);
console.log(newArr)
https://stackoverflow.com/questions/68524543
复制相似问题