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

数组中对象去重的方法

数组中对象去重的方法

绝地无双 2018-10-07 15:27:22
如下一个数组,怎么去除其中的重复对象,求大神给个方法,谢谢啊arr = [{orgId:"100",orgName:"信息组"},{orgId:"100",orgName:"信息组"},{orgId:"100",orgName:"信息组"},{orgId:"81",orgName:"安全组"},{orgId:"11",orgName:"秘书组"},{orgId:"81",orgName:"安全组"}]
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超4个赞

stringify那位兄弟的去重方法是可以的(之前说稳健是不对的,还不够稳健)。
不过代码也是要考虑实际业务场景的,这样的数组数据是怎么来的呢?
orgId是不是已经就是有着 唯一Id 的作用的,是不是 orgId 一致的对象,就代表着对象是一致的。如果是的话,那就没必要stringify了,直接拿orgId当key去重就好了

查看完整回答
反对 回复 2018-10-14
?
开满天机

TA贡献1786条经验 获得超13个赞

var arr = [

  { orgId: '100', orgName: '信息组' },

  { orgId: '100', orgName: '信息组' },

  { orgId: '100', orgName: '信息组' },

  { orgId: '81', orgName: '安全组' },

  { orgId: '11', orgName: '秘书组' },

  { orgId: '81', orgName: '安全组' },

];


Object.values(

  arr.reduce((obj, next) => {

    var key = JSON.stringify(next);

    return (obj[key] = next), obj;

  }, {}),

);

我来个最简单的,but 有个缺点,arr里面的对象必须能被 JSON.stringify 处理

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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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