let arr1 = [{ id: 2 }, { id: 3 }, { id: 4 }]; let arr2 = [{ id: 5 }, { id: 6 }, { id: 7 },{ id: 3 }];求两个数组id不同的数据
时间: 2024-03-06 13:46:53 浏览: 69
js代码-蚂蚁金服前端面试题 题目 5:实现下面函数的功能 function slice(arr) { } const arr = slice([1, '2', 3, '4', 5, '6', 7, '8', 9, '0']); // 取得数组中 索引从 2 到 5 的元素,返回新的数组 arr['2:5']; // [3, '4', 5] 请注意使用的语法,不是小括号,而是中括号
可以使用JavaScript的filter()函数和some()函数来实现这个需求。具体的做法是,先将两个数组合并成一个数组,然后遍历这个数组,使用some()函数判断当前元素在另一个数组中是否存在,如果不存在,则将其保留下来,最后使用filter()函数过滤出id不同的数据。以下是示例代码:
```
let arr1 = [{ id: 2 }, { id: 3 }, { id: 4 }];
let arr2 = [{ id: 5 }, { id: 6 }, { id: 7 },{ id: 3 }];
let mergedArr = [...arr1, ...arr2]; // 合并两个数组
let result = mergedArr.filter(item => {
return !arr1.some(ele => ele.id === item.id) || !arr2.some(ele => ele.id === item.id);
});
console.log(result); // [{ id: 2 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }]
```
在这个示例中,result数组就是id不同的数据。
阅读全文