为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕沐林林 2018-09-08 20:47:24
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 排序,再使用第一种方法


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信