站内搜索:
首页 >> 前端 >> 内容
移除数组arr中所有与item相等的元素,不更改原数组的方法

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

方法一: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

  • 上一篇:Extjs3.0角色权限管理系统用户管理模块使用教程
  • 下一篇:React按钮登入代码实现
  • 返回顶部