如下一个数组,怎么去除其中的重复对象,求大神给个方法,谢谢啊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去重就好了

开满天机
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 处理
添加回答
举报
0/150
提交
取消