題目描述 : 移除數組 arr 中的全部值與 item 相等的元素。不要直接修改數組 arr,結果返回新的數組 示例1 輸入 [1, 2, 3, 4, 2], 2 輸出 [1, 3, 4]
注意到題目中說的不要修改原數組,這裏有兩個思路(一是經過深拷貝獲得相同的數組,而後就不須要考慮splice,push等會不會影響原數組;二是利用數組的slice和concat, filter等不影響原數組的方法進行操做)數組
function remove(arr, item) { var b=[...arr]; for(var i=0;i<b.length;i++){ if(b[i]==item){ b.splice(i, 1); } } return b; }
function remove(arr, item){ var b=[]; for(var i=0;i<arr.length;i++){ if(arr[i]!==item){ b.push(arr[i]); } } }
function remove(arr, item) { return arr.filter(i=>i!=item); }
function remove(arr, item) { var b=[]; for(var i=0;i<arr.length;i++){ if(arr[i]!=item){ b=b.concat(arr[i]); } } return b; }