数组对象去重 set
时间: 2023-10-06 08:11:54 浏览: 91
js构建二叉树进行数值数组的去重与优化详解
Set是ES6中新增的一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set可以用来对数组对象进行去重。
下面是一个示例代码:
```
const arr = [{ id: 1, name: 'apple' }, { id: 2, name: 'banana' }, { id: 1, name: 'apple' }];
const set = new Set(arr.map(JSON.stringify));
const uniqueArr = Array.from(set).map(JSON.parse);
console.log(uniqueArr);
```
首先,我们使用map方法将数组中的每个元素转化为字符串,然后使用Set去重,最后再通过map方法将字符串转化为对象。这样就能保留原数组中每个对象的所有属性,并且去重后的数组中不会出现重复的对象。
需要注意的是,Set去重时是根据每个元素的值进行去重,而不是根据每个元素的引用地址进行去重。因此,如果数组中有两个引用地址不同但是值相同的对象,Set去重并不会将它们视为重复元素。
阅读全文