react 过滤多组两个数组对象中相同字段值
时间: 2023-08-21 07:05:50 浏览: 109
实现多个数组的数据过滤
可以使用 Array.prototype.filter() 方法结合 Array.prototype.some() 方法来过滤两个数组中相同字段值的对象。
假设有两个数组 arr1 和 arr2,它们的对象都有一个字段叫做 "id",我们要过滤出在 arr1 中存在的对象:
```javascript
const arr1 = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' }
];
const arr2 = [
{ id: 2, age: 20 },
{ id: 4, age: 25 },
{ id: 1, age: 30 }
];
const filteredArr = arr2.filter(obj2 => {
return arr1.some(obj1 => obj1.id === obj2.id);
});
console.log(filteredArr);
// Output: [{ id: 2, age: 20 }, { id: 1, age: 30 }]
```
在上面的代码中,我们先通过 filter() 方法过滤出 arr2 中所有存在于 arr1 中的对象。这里使用了 some() 方法来判断两个对象的 id 是否相等。如果有任意一个 obj1.id 和 obj2.id 相等,就返回 true,表示 obj2 需要被保留在结果数组中。最终返回的结果是 [{ id: 2, age: 20 }, { id: 1, age: 30 }],它们的 id 分别是 2 和 1,都存在于 arr1 中。
阅读全文