js中Question : 两个数组对象取差集
时间: 2024-03-05 15:53:01 浏览: 79
求js两个数组的差集,以便测试
可以使用filter和find方法,以及箭头函数来实现两个数组对象的差集操作。具体实现如下:
```javascript
const arr1 = [{id: 1, name: 'apple'}, {id: 2, name: 'banana'}, {id: 3, name: 'orange'}];
const arr2 = [{id: 2, name: 'banana'}, {id: 3, name: 'orange'}, {id: 4, name: 'peach'}];
const diff = arr1.filter(x => !arr2.find(y => y.id === x.id));
console.log(diff); // 输出 [{id: 1, name: 'apple'}]
```
以上代码先使用filter方法对arr1进行遍历,然后使用find方法判断arr2中是否存在相同id的元素,如果不存在则将该元素返回并存入diff数组中,最后输出diff数组即为两个数组对象的差集。
阅读全文