实现一个函数,用于过滤第一个参数的数组中不含第二个数组中的值,如 a1 = [1,2,3,4,5] ,a2 = [2,3,4], 过滤得到 b1 = [1, 5]
实现一个函数,用于过滤第一个参数的数组中不含第二个数组中的值,如 a1 = [1,2,3,4,5] ,a2 = [2,3,4], 过滤得到 b1 = [1, 5]
arr = [1,2,3,4,5],subarr = [2,3,4];
subarr.forEach(function (item) {
for(var i=0;i<arr.length;i++){
if(arr[i]==item){
arr.splice(i,1);
break;
}
}
})
const new_a1 = a1.filter(v => ! a2.includes(v))
如果数据比较大,可以
const s2 = new Set(a2)
const new_a1 = a1.filter(v => ! s2.has(v))
function filter(a, b = []) {
return [].filter.call(a, n => !b.includes(n));
}
console.dir(filter(a1, a2));
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答1.9k 阅读
3 回答2.2k 阅读✓ 已解决
5 回答852 阅读
3 回答1.1k 阅读✓ 已解决
https://developer.mozilla.org...