js数组中对象去重方法
时间: 2023-11-29 08:04:48 浏览: 77
js代码-数组 对象去重 (对象的所有属性相同才能认为相同)
可以使用`Array.filter()`和`Array.findIndex()`方法配合实现对象去重。
例如,假设我们有以下数组:
```javascript
let arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' }
];
```
我们可以这样写代码来实现对象去重:
```javascript
let uniqueArr = arr.filter((obj, index, self) => {
return index === self.findIndex((o) => {
return o.id === obj.id && o.name === obj.name;
});
});
```
这里的`Array.filter()`方法会遍历数组中的每一个对象,然后根据`Array.findIndex()`方法查找这个对象在数组中的第一个索引位置,如果这个对象的索引位置等于当前遍历的索引位置,那么就说明这个对象还没有出现过,可以加入到去重后的数组中。
最终结果将会是:
```javascript
console.log(uniqueArr); // [{id: 1, name: "Alice"}, {id: 2, name: "Bob"}, {id: 3, name: "Charlie"}]
```
阅读全文