数组有些相同的ID与数量不同的情况下如何能叠加合并?

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与数量不同的情况下如何能叠加合并?


慕沐林林
浏览 1163回答 2
2回答

拉风的咖菲猫

如果数组元素是有序且连续的,使用 Array.prototype.reduce 就好,当每次 id 相同时,合并元素但不记录结果,当每次 id 不相同时,记录结果如果数组元素是无序且非连续的,可以先按 id 分组,之后每个组分别使用 Array.prototype.reduce 生成一个结果元素,当然也可以先按 id 排序,再使用第一种方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript