JavaScript删除数组的方法

  • 移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
function remove(arr, item) {
    var newArr = [];
    arr.forEach(function(e){
        if(e != item){
            newArr.push(e); 
        }
    })
    return newArr;
}
  • 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
//方法一
indexOf = function(item,arr){
        for(var i = 0;i<arr.length;i++){
            if(arr[i] == item){
                return i;
            }
        }
        return -1;
    }
 
function removeWithoutCopy(arr, item) {
    var num = arr.length;
    for(var i = 0;i<num;i++){
        var index = this.indexOf(item,arr);
        if(index > -1){
            arr.splice(index,1);
        }  
    }
    return arr;
}

//方法二
function removeWithoutCopy(arr, item) {
    var num = arr.length;
    for(var i = 0; i < num; i++){    
        if(arr[0] != item ){
            arr.push(arr.shift());
        }else{
            arr.shift();
        }
    }
    return arr;
}
发布了33 篇原创文章 · 获赞 3 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_37189727/article/details/87083832