js取一个对象数组比宁外一个数组对象多的内容
时间: 2024-03-26 13:42:06 浏览: 14
假设有两个数组对象,分别为 `arr1` 和 `arr2`,你想找出 `arr1` 中包含的但是 `arr2` 中不包含的元素,可以使用 JavaScript 中的 filter() 和 find() 方法来实现。具体的方法如下:
```javascript
let arr1 = [{id: 1, name: 'John'}, {id: 2, name: 'Mike'}, {id: 3, name: 'Tom'}, {id: 4, name: 'Jack'}];
let arr2 = [{id: 2, name: 'Mike'}, {id: 3, name: 'Tom'}];
let diff = arr1.filter(obj1 => !arr2.find(obj2 => obj1.id === obj2.id));
console.log(diff); // [{id: 1, name: 'John'}, {id: 4, name: 'Jack'}]
```
上面的代码中,我们首先使用 filter() 方法过滤出 `arr1` 中的元素。然后使用 find() 方法在 `arr2` 中查找是否存在相同的元素。如果存在,则说明这个元素在 `arr2` 中也存在,那么就排除掉,否则就是 `arr1` 中独有的元素,将其保留下来。
最终的结果保存在 `diff` 变量中,输出即可。