admin 管理员组文章数量: 887087
2024年2月19日发(作者:大数据工程师证含金量)
JS对象数组去重的常用方法
在JavaScript中,有很多种方法可以对对象数组进行去重。下面将介绍一些常用的方法:
1. 使用Set和方法:
```javascript
const arr =
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mary' }
];
const uniqueArr = (new
Set((ify))).map();
(uniqueArr);
```
这种方法使用了Set数据结构来存储对象的JSON字符串表示,然后将Set转换为数组,并通过map方法进行JSON解析来还原对象。
2. 使用reduce方法:
```javascript
const arr =
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mary' }
];
const uniqueArr = ((acc, obj) =>
const exists = (item => === &&
=== );
if (!exists)
(obj);
}
return acc;
},[]);
(uniqueArr);
```
这种方法使用reduce方法来迭代数组,并使用some方法检查是否已经存在相同的对象。如果不存在,则将其添加到累加器数组中。
3. 使用filter和indexof方法:
```javascript
const arr =
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mary' }
];
const uniqueArr = ((obj, index, self) =>
return index === dex(item => ===
&& === );
});
(uniqueArr);
```
这种方法使用filter方法来创建一个新数组,其中包含满足条件的元素。使用index和self来查找第一个匹配的元素索引,并与当前索引进行比较。
4. 使用Map数据结构:
```javascript
const arr =
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mary' }
];
const map = new Map(;
const uniqueArr = (obj =>
const key = + '-' + ;
const exists = (key);
if (!exists)
(key, obj);
}
return !exists;
});
(uniqueArr);
```
这种方法使用Map数据结构来存储对象的唯一键,并通过查对象是否已经存在于Map中。
5. 使用forEach方法和对象属性:
```javascript
has方法检
const arr =
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mary' }
];
const uniqueArr = [];
const uniqueProps = [];
h(obj =>
const prop = + '-' + ;
if (!es(prop))
(prop);
(obj);
}
});
(uniqueArr);
```
这种方法使用forEach方法迭代数组,并将对象属性的组合存储在一个数组(uniqueProps)中。然后使用includes方法检查属性是否已经存在,并将对象添加到结果数组中。
以上是一些常用的方法,可以将JavaScript对象数组去重。根据实际需求和数据结构的复杂性,选择适合的方法进行操作。
版权声明:本文标题:JS对象数组去重的常用方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708319937h519585.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论