我有一个数组:
var arr = [1,2,4,5,1,2,3,4,5];
我有另一个阵列:
var removeArr = [1,3,5];
我希望它删除 removeArr 中 arr 中的元素:
var result = arr.filter(function(item){
return item != removeArr[???];
});
我试图使用循环迭代它,但它不起作用。
答案 0 :(得分:2)
您可以使用Array#filter
以及Array#indexOf
函数来获得所需的输出。
var arr = [1,2,4,5,1,2,3,4,5],
removeArr = [1,3,5],
result = arr.filter(function(item){
return removeArr.indexOf(item) == -1;
});
console.log(result);
答案 1 :(得分:2)
var arr = [1,2,4,5,1,2,3,4,5];
var removeArr = [1,3,5];
var result = arr.filter(x => !removeArr.includes(x));
console.log(result);
答案 2 :(得分:2)
您可以使用Set
并在过滤时进行测试。
var array = [1, 2, 4, 5, 1, 2, 3, 4, 5],
removeArray = [1, 3, 5],
result = array.filter((s => a => !s.has(a))(new Set(removeArray)));
console.log(result);
答案 3 :(得分:1)
var result = arr.filter(function(item){
return removeArr.indexOf(item) === -1; // if the item is not included in removeArr, then return true (include it in the result array)
});
答案 4 :(得分:1)
您可以通过检查项目的索引是否为-1来检查数组是否在数组中。
var result = arr.filter(item => removeArr.indexOf(item) === -1)