js方法 处理 对象类型数组 ,通过id进行过滤重复项
时间: 2024-09-06 16:02:41 浏览: 34
在JavaScript中处理对象数组并根据对象中的id属性过滤出不重复的项,通常可以通过创建一个新数组,并使用`filter`方法配合`indexOf`或者`includes`方法来实现。这里提供一个示例代码:
```javascript
function removeDuplicates(array) {
// 使用filter方法和indexOf来过滤数组
return array.filter((item, index, self) => {
return self.findIndex(t => (t.id === item.id)) === index;
});
}
// 示例对象数组
var objects = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' },
{ id: 2, name: 'Bob' }
];
// 调用函数并输出结果
console.log(removeDuplicates(objects));
```
在上面的代码中,`removeDuplicates`函数接收一个对象数组作为参数。`filter`方法会遍历这个数组,并检查每个元素是否是首次出现。`findIndex`方法会遍历数组直到找到具有相同id的元素。如果`findIndex`返回的索引与当前元素的索引相同,则意味着这个元素是首次出现,应该包含在最终结果中。
阅读全文