let badge = [{id: 323, badge: 10},{id: 323, badge: 10},{id: 311, badge: 1},{id: 311, badge: 1},{id: 311, badge: 1},{id: 311, badge: 1},{id: 352, badge: 3},{id: 352, badge: 100},{id: 480, badge: 5}]//怎么叠加 参考这个计算结果let badgeMerge = [{id: 323, badge: 20},{id: 311, badge: 4},{id: 352, badge: 103},{id: 480, badge: 5}]这个数组有些相同的ID与数量不同的情况下如何能叠加合并?
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
如果数组元素是有序且连续的,使用 Array.prototype.reduce 就好,当每次 id 相同时,合并元素但不记录结果,当每次 id 不相同时,记录结果
如果数组元素是无序且非连续的,可以先按 id 分组,之后每个组分别使用 Array.prototype.reduce 生成一个结果元素,当然也可以先按 id 排序,再使用第一种方法
添加回答
举报
0/150
提交
取消