1、使用 filter 和 indexO f方法
-
filter 过滤两个数组中相同的项,得到交集
-
indexOf 过滤两个数组中相同的项,得到相同项的数组
注意 indexOf 方法需要比较的两个类型相同才可以
let arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let arr2 = [1, 2, 3, 4, 5, 6, 7];
filterHasSameArr = (arr1, arr2) => {
return arr1.filter((item) => {
if (arr2.indexOf(item) < 0) {
return item;
}
});
};
console.log(filterHasSameArr(arr1, arr2)); // [8,9]
2.使用 filter 和 includes 方法
-
filter 过滤两个数组中相同的项,得到交集
-
includes 过滤两个数组中相同的项,得到相同项的数组
let arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let arr2 = [1, 2, 3, 4, 5, 6, 7];
filterHasSameArr = (arr1, arr2) => {
let arr = arr1.filter((item) => !arr2.includes(item));
return arr;
};
console.log(filterHasSameArr(arr1, arr2)); // [8,9]
如有不同见解,欢迎讨论,更多情景,正在更新中。。。。。。