我想過濾掉等於輸入參數的arr中的元素。我想知道爲什麼這不起作用。爲什麼我不能使用循環過濾()出元素?
function destroyer(arr) {
// Remove all the values
var newarr = arr.slice();
var i = 1;
while (i < arguments.length){
newarr = newarr.filter(function(num){
if (num == arguments[i]){
return (false);
}
return (true);
});
i++;
}
return newarr;
}
驅逐艦([3,5,1,2,2],2,3,5);
應該返回[1];
我解決它使用拼接()代替方式:
function destroyer(arr) {
var i = 1;
while (i < arguments.length){
var j = 0;
while (j < arr.length){
if (arr[j] == arguments[i]){
arr.splice(j,1);
j = j;
}
else
j++;
}
i++;
}
return arr;
}
啊啊啊我看。這就說得通了。非常感謝。 – earthyearth