猿问

数组中对象去重的方法

如下一个数组,怎么去除其中的重复对象,求大神给个方法,谢谢啊

arr = [

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

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

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

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

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

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

]


绝地无双
浏览 714回答 2
2回答

守着一只汪

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

开满天机

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 处理
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答