js过滤数组对象id相同的数据
时间: 2024-11-16 09:20:08 浏览: 32
JS数组中对象去重操作示例
在JavaScript中,如果你想要从数组中过滤掉所有`id`相同的数据,可以使用`Array.prototype.filter()`方法结合`reduce()`或`Set`来实现。这里是一个例子:
```javascript
let arr = [
{ name: '张三', id: '1' },
{ name: '李四', id: '1' },
{ name: '王五', id: '2' },
{ name: '赵六', id: '3' },
];
function filterById(arr) {
return arr.reduce((prev, curr) => prev.find(prevItem => prevItem.id === curr.id) ? prev : [...prev, curr], []);
}
let uniqueIds = filterById(arr);
console.log(uniqueIds); // 输出:[ { name: '张三', id: '1' }, { name: '李四', id: '1' }, { name: '王五', id: '2' }, { name: '赵六', id: '3' } ]
```
这个函数会创建一个新的数组,其中只包含每个`id`第一次出现的对象。如果找到`id`已经存在的对象,它将不会被添加到结果中。
阅读全文