数组如何去除重复的对象
时间: 2023-09-08 10:11:40 浏览: 74
list集合去除重复对象的实现
对于数组中的对象去重,可以利用 Set 数据结构和 Array.prototype.filter() 方法结合使用,或者通过遍历数组自行实现去重逻辑。
方法一:利用 Set 和 filter
示例代码:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' }
];
const uniqueArr = Array.from(new Set(arr.map((item) => item.id))).map((id) => {
return arr.find((item) => item.id === id);
});
console.log(uniqueArr);
// [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }]
```
方法二:遍历数组自行实现去重逻辑
示例代码:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' }
];
const uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
let flag = true;
for (let j = i + 1; j < arr.length; j++) {
if (arr[i].id === arr[j].id) {
flag = false;
break;
}
}
if (flag) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr);
// [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }]
```
以上两种方法都可以实现数组中对象的去重,具体使用哪种方法取决于实际情况和个人偏好。
阅读全文