js找到数组相同的对象 删除掉
时间: 2023-10-09 12:07:42 浏览: 155
删除一维数组中相同元素
要找到数组中相同的对象,并将它们从数组中删除,可以使用`filter`方法结合自定义的比较函数来实现。比较函数用于判断两个对象是否相同。
以下是一个示例代码:
```javascript
function compareObjects(obj1, obj2) {
// 自定义比较函数,根据你的需求来判断两个对象是否相同
// 这里只是简单比较了对象的某个属性,你可以根据实际情况进行修改
return obj1.id === obj2.id; // 假设对象有一个id属性,比较它们的id值
}
let array = [
{ id: 1, name: 'obj1' },
{ id: 2, name: 'obj2' },
{ id: 1, name: 'obj3' }
];
let uniqueArray = array.filter((item, index, self) => {
return self.findIndex(obj => compareObjects(obj, item)) === index;
});
console.log(uniqueArray);
```
在上面的示例中,`compareObjects`函数用于比较两个对象的id属性。`filter`方法会遍历数组中的每个元素,并使用`findIndex`方法查找数组中是否存在与当前元素相同的对象。如果不存在相同的对象,则保留当前元素。
最终,`uniqueArray`将包含去重后的数组。
请注意,这只是一个简单的示例,你需要根据实际情况来定义自己的比较函数。
阅读全文