帮我写一个js方法,数组对象1与数组对象2做对比,如果数组对象1中的id在数组对象2中没有,则提炼出来。
时间: 2024-05-15 18:13:13 浏览: 93
JS判断两个数组或对象是否相同的方法示例
5星 · 资源好评率100%
可以使用Array.filter()方法和Array.some()方法来实现。
假设数组对象1为arr1,数组对象2为arr2,id属性名为"id",代码如下:
```
function compareArray(arr1, arr2) {
// 过滤出arr1中不在arr2中的元素
const result = arr1.filter(item1 => !arr2.some(item2 => item2.id === item1.id));
return result;
}
```
解释一下代码:
1. 使用filter()方法遍历arr1数组,返回符合条件的元素组成的新数组。
2. 在filter()方法中使用some()方法遍历arr2数组,用于判断arr1中的元素是否在arr2中存在。
3. some()方法返回一个布尔值,表示是否存在满足条件的元素。
4. 如果arr1中的元素在arr2中不存在,则返回true,否则返回false。
5. filter()方法根据返回的布尔值过滤出符合条件的元素组成新数组result。
最终,调用compareArray(arr1, arr2)方法即可得到结果。
阅读全文