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

猜你喜欢

转载自blog.csdn.net/weixin_43160613/article/details/85220564