我正在處理一個問題,在這裏我提供了一個初始數組(第一個參數在驅逐函數中),後面跟着一個或多個參數。我需要從初始數組中刪除與這些參數具有相同值的所有元素。.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,我會從數組中刪除一個元素,我不知道如何循環遍歷所有元素,因爲循環將取消它看到「返回」。 –