js 数组对象中两个相同对象去重
时间: 2023-10-10 14:11:18 浏览: 97
在 JavaScript 中,可以使用 `filter` 方法结合 `indexOf` 或者 `includes` 方法来对数组对象中的相同对象进行去重操作。下面是一个示例代码:
```javascript
let array = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Alice' }
];
let uniqueArray = array.filter((item, index) => {
return index === array.findIndex(obj => obj.id === item.id && obj.name === item.name);
});
console.log(uniqueArray);
```
在上述代码中,`filter` 方法会遍历数组中的每个对象。对于每个对象,`indexOf` 或者 `includes` 方法会检查该对象在数组中的第一个索引位置。如果当前索引和第一个索引位置相同,说明该对象是唯一的,将其保留在新的数组 `uniqueArray` 中。
运行上述代码后,输出结果为:
```
[
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Alice' }
]
```
注意,这里的去重逻辑是判断对象的 `id` 和 `name` 属性是否都相等。你可以根据实际需求修改判断条件。
阅读全文