react中如何对一个数组根据某个字段进行筛选去重
时间: 2023-12-10 15:42:48 浏览: 29
可以使用JavaScript中的reduce方法来实现。具体步骤如下:
1. 使用reduce方法遍历数组,判断当前元素对应的字段是否已经存在于结果数组中。
2. 如果不存在,则将当前元素添加到结果数组中。
下面是一个示例代码:
```javascript
const data = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' },
{ id: 4, name: 'David' },
{ id: 5, name: 'Jane' },
];
const filteredData = data.reduce((acc, cur) => {
const isExist = acc.find(item => item.name === cur.name);
if (!isExist) {
acc.push(cur);
}
return acc;
}, []);
console.log(filteredData); // [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 4, name: 'David' }]
```
在上面的代码中,我们根据`name`字段来进行筛选去重。最终得到的结果是一个新的数组,其中每个元素的`name`字段都是唯一的。