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

新手上路,数组去重,数组的值是对象。

新手上路,数组去重,数组的值是对象。

慕丝7291255 2019-11-03 09:56:00
constlist=[{id:1,info:'西瓜'},{id:1,info:'西瓜'},{id:2,info:'草莓'},{id:3,info:'榴莲'},{id:3,info:'榴莲'},{id:4,info:'苹果'}]consthash={};constarr=list.reduce(function(item,next){hash[next.id]?'':(hash[next.id]=true&&item.push(next));returnitem;},[]);数组的值是对象,然后通过reduce方法去掉ID重复的值,问题就是我感觉还是有点繁琐,现在的问题是如果别人看的话还需要理解一下子,有没有更简洁明了的写法,或者什么工具类比如lodash什么的方法推荐,谢谢
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

reduce理解不了就不要写reduce,常规写法不就行了:
letarr=[];
consthash={};
for(leti=0;iif!hash[list[i].id]{
arr.push(list[i]);
hash[list[i].id]=true;
}
}
                            
查看完整回答
反对 回复 2019-11-03
  • 2 回答
  • 0 关注
  • 264 浏览
慕课专栏
更多

添加回答

举报

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