如下一个数组,怎么去除其中的重复对象,求大神给个方法,谢谢啊arr=[{orgId:"100",orgName:"信息组"},{orgId:"100",orgName:"信息组"},{orgId:"100",orgName:"信息组"},{orgId:"81",orgName:"安全组"},{orgId:"11",orgName:"秘书组"},{orgId:"81",orgName:"安全组"}]
2 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
vararr=[{orgId:'100',orgName:'信息组'},{orgId:'100',orgName:'信息组'},{orgId:'100',orgName:'信息组'},{orgId:'81',orgName:'安全组'},{orgId:'11',orgName:'秘书组'},{orgId:'81',orgName:'安全组'},];Object.values(arr.reduce((obj,next)=>{varkey=JSON.stringify(next);return(obj[key]=next),obj;},{}),);我来个最简单的,but有个缺点,arr里面的对象必须能被JSON.stringify处理
跃然一笑
TA贡献1826条经验 获得超6个赞
stringify那位兄弟的去重方法是可以的(之前说稳健是不对的,还不够稳健)。不过代码也是要考虑实际业务场景的,这样的数组数据是怎么来的呢?orgId是不是已经就是有着唯一Id的作用的,是不是orgId一致的对象,就代表着对象是一致的。如果是的话,那就没必要stringify了,直接拿orgId当key去重就好了
添加回答
举报
0/150
提交
取消