码迷,mamicode.com
首页 > 编程语言 > 详细

合并数组中相同id 的数量

时间:2021-04-16 11:50:48      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:qml   gem   span   function   object   number   func   方式   ram   

 
问题
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}]


第一种方式

let keys = Array.from(new Set(badge.map(item => item.id))) var badgeMerge = keys.map(key => { return { id: key, badge: badge.filter(item => item.id == key).reduce((pre, cur) => pre+cur.badge, 0) } })

第二种方式
Object.values(badge.reduce((t,c)=>{
    (!t[c.id] && (t[c.id]= c)) || (t[c.id] && (t[c.id].badge += c.badge));
    return t;
}, {}));
 

合并数组中相同id 的数量

标签:qml   gem   span   function   object   number   func   方式   ram   

原文地址:https://www.cnblogs.com/objectjj/p/14661499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!