晚上好,
我想创建一个函数来返回一个过滤的数组,该数组不包含传递给此函数的值arguments
。
这是我一直在使用的代码,但它不会按预期返回已过滤的数组,但是,如果我将所有传递的参数传递给过滤callbackfn,它会看到它们,因为我确实绑定了{ {1}} - 元素。
这里是代码:
arguments[i]
这是console.logs的截图:
非常感谢你的帮助。
答案 0 :(得分:4)
.filter
不会更改原始数组,它会返回一个包含所做更改的新数组。您需要将此新数组分配回arr
变量。
function destroyer(arr) {
for(var i = 1; i < arguments.length; i++){
arr = arr.filter(seeker.bind(null, arguments[i]));
}
return arr;
}
function seeker(arg, value, index, array){
return value !== arg;
}
console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));
&#13;