js 数组里面的对象 去重
时间: 2023-10-10 17:06:05 浏览: 85
js代码-数组 对象去重 (对象的所有属性相同才能认为相同)
可以使用 Set 数据结构来实现 JavaScript 数组去重。具体实现方法如下:
```javascript
const arr = [{name: 'Tom', age: 18}, {name: 'Jerry', age: 22}, {name: 'Tom', age: 18}];
const newArr = [...new Set(arr.map(JSON.stringify))].map(JSON.parse);
console.log(newArr); // [{name: 'Tom', age: 18}, {name: 'Jerry', age: 22}]
```
上面的代码中,我们先使用 `map` 方法将数组中的对象转为字符串,然后使用 Set 数据结构去重。最后再使用 `map` 方法将字符串转回对象。这里使用 `JSON.stringify` 和 `JSON.parse` 的原因是 Set 数据结构在比较对象时是使用对象的引用地址进行比较的,而 `JSON.stringify` 和 `JSON.parse` 可以将对象转为字符串和将字符串转回对象。
阅读全文