JS能力測評3:移除陣列中的元素
阿新 • • 發佈:2018-12-26
思路:
方法1:將陣列中的元素依次和item比較,若不相等則放入新的陣列,反之則捨棄。
function remove(arr, item) {
var result=[];
for(var i=0;i<arr.length;i++)
{
if (arr[i]!=item)
{
result.push(arr[i]);
}
}
return result
}
方法2:運用slice函式先複製原陣列,然後再用splic函式將和item相等的元素刪除。
1.slice():
2.splice():
function remove(arr,item){
var newarr = arr.slice(0);
for(var i=0;i<newarr.length;i++){
if(newarr[i] == item){
newarr.splice(i,1);
i--;
}
}
return newarr;
}
方法3:運用filter函式篩選出需要的元素
注意:filter() 不會對空陣列進行檢測,不會改變原始陣列 。
function remove(arr,item){
return arr.filter(function(currentValue){
return currentValue != item;
})
}