我正在尝试编写一个过滤来自另一个数组的数字数组的函数,但我似乎无法让它工作。例如,我有2个数组 -
a
:[1,2,3]
b
:[2,3]
我希望我的过滤器功能可以过滤b中b中的所有数字,只留下一个包含[1]的数组。我的代码如下:
var args = [2,3];
var resulting = [1,2,3];
function destroy(val){
return val !== args[];
}
resulting = resulting.filter(destroy);
return resulting;
答案 0 :(得分:0)
您目前正在将一个值与一个数组进行比较,该数组将始终返回false。
这是一个应该起作用的回调:
function destroy(val){
return args.indexOf(val) == -1; // returns true if val isn't found in args
}
如果您使用ES6,则可以使用lambda:
val => !args.contains(val); // returns true if val isn't found in args
答案 1 :(得分:-2)
过滤掉args中的项目:
a