我正在处理一个问题,在这里我提供了一个初始数组(第一个参数在驱逐函数中),后面跟着一个或多个参数。我需要从初始数组中删除与这些参数具有相同值的所有元素。.filter方法中的Javascript参数
函数只需要1个参数(数组),并且可以有任意数量的附加参数,我可以选择它作为“arguments [index]”。
这里是我的代码到现在:
function destroyer(arr) {
newArr= [ ];
newArr = arr.filter(function(x){
return x !== arguments[2]; //argumets[2] is equal to 3
});
return newArr;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
// => returns [1, 2, 3, 1, 2, 3];
但如果我进入3,而不是争论[2],在函数返回[1,2,1,2]。 发生了什么事?
此外,如何循环代码来测试所有其他参数,如果我不能在循环中的函数?
谢谢!但是,我如何检查不仅仅是args [2],而是args [arr.length-1]除0之外的其他参数?我可以在一个过滤器函数内创建一个循环,但是当我使用第一个返回时,它将会取消... –
只需在您完成所需的一切之后,不要返回。我不清楚你需要做什么循环,所以我不知道如何帮助你更多的。想给我们更多关于你需要做什么的想法? – Whothehellisthat
我需要删除(过滤)我的参数[0](数组)中的元素,以及其他所有参数,我可以根据需要有多个参数 - 参数[正整数]。 现在,因为.filter如果“返回布尔值”为false,我会从数组中删除一个元素,我不知道如何循环遍历所有元素,因为循环将取消它看到“返回”。 –