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

一个数组问题重复值合并问题

一个数组问题重复值合并问题

大话西游666 2019-05-21 17:11:13
constary=[{code:1,num:20,},{code:1,num:10,},{code:2,num:15,}]//怎样得出下面结果?constary=[{code:1,num:30,},{code:2,num:15,}]
查看完整描述

2 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

constary=[{
code:1,
num:20
},{
code:1,
num:10
},{
code:2,
num:15
}]
functionmerge(list){
letresult=[]
letcache={}
list.forEach(item=>{
letkey=item.code
letindex=cache[key]
if(index!==undefined){
result[index].num+=item.num
}else{
result.push(Object.assign({},item))
cache[key]=result.length-1
}
})
returnresult
}
merge(list)
                            
查看完整回答
反对 回复 2019-05-21
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

functionmerge(arr){
letres={};
for(letitemofarr){
if(res[item.code])res[item.code].num+=item.num;
elseres[item.code]={code:item.code,num:item.num};//Avoidmodifyingtheoriginalobject.
}
returnObject.values(res);
}
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 449 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号