您现在的位置:首页 >> 前端 >> 内容

移除数组arr中所有与item相等的元素,不更改原数组的方法

时间:2017/11/18 11:38:34 点击:

  核心提示:方法一:filter ES5方法var a=[1,5,ff,g,h,sd];alert(remove(a,g)); functionremove(arr,item){return arr.filter...

方法一:filter ES5方法

var a=[1,5,'ff','g','h','sd'];
alert(remove(a,'g'));         

function  remove(arr,item){
    return   arr.filter(function(ele){return ele !=item})
}

方法二:pushfunction remove(arr,item){

var arr2=[];
for (var i=0;i
}

方法三:splice//此方法的牛逼之处在于倒着删除相等的元素item,避免了正着删除时后面元素前移的问题;

function remove(arr,item){ var newarr=arr.slice(0); for (var i=newarr.length;i>=0 ;i– ) {

  if (newarr[i]==item)
  {

      newarr.splice(i,1);                   
  }
}
return newarr;
}

方法四:利用数组本身的特性,将数组看作队列,使用push和shift方法来操作;

function remove(arr,item){
  var newarr=arr.slice(0); 
  for (var i=0;i

作者:网络 来源:路明明的博客