1. 程式人生 > >JS能力測評3:移除陣列中的元素

JS能力測評3:移除陣列中的元素

思路:

方法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;
    })
}