js两个对象数组取交集
时间: 2023-08-24 11:03:56 浏览: 50
你可以使用 `filter` 方法结合 `indexOf` 函数来实现两个对象数组的交集。
假设有两个对象数组 `arr1` 和 `arr2`,你可以按照以下方式实现它们的交集:
```javascript
const arr1 = [{id: 1}, {id: 2}, {id: 3}];
const arr2 = [{id: 2}, {id: 3}, {id: 4}];
const intersection = arr1.filter(item1 => arr2.some(item2 => item2.id === item1.id));
console.log(intersection); // [{id: 2}, {id: 3}]
```
在上面的例子中,`filter` 方法遍历了 `arr1` 数组中的每一个元素,对于每一个元素都使用 `some` 方法在 `arr2` 数组中查找是否存在相同 `id` 值的对象。如果存在,则保留该元素,否则过滤掉该元素。最终,`intersection` 数组保存了两个数组的交集。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![html](https://img-home.csdnimg.cn/images/20210720083451.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)