js 数组删除重复数据,返回新数组

来源:互联网 发布:直通车关键词优化技巧 编辑:程序博客网 时间:2024/06/09 14:24

第一种方法

Array.prototype.deldifferent = function () {

  var arr = this;
  var _arr = new Array();
  for (var i = 0, len = arr.length; i < len; i++)
  {
    if(i==0){_arr.push(arr[0]);}
    for(var j =0,jlen=_arr.length;j<jlen;j++){
      if(arr[i]==_arr[j]){break;}
      if(j>jlen-2){
        _arr.push(arr[i]);
      }
    }
  }
 
  return _arr;
}

console.log([1,1,2,3].deldifferent());

第二种方法

var a = [1,2,3,1,1,3,5,3,6,2];

a.join('‖').match(/(\b[^‖]+\b)(?!.*‖\1\b)/ig);

第三种方法


Array.prototype.distinct=function(){
    var a=[],b=[];
    for(var prop in this){
        var d = this[prop];
        if (d===a[prop]) continue; //防止循环到prototype
        if (b[d]!=1){
            a.push(d);
            b[d]=1;
       }
    }
    return a;
}

a.distinct()

或者:

function oSort(arr)
{
  var result = {
  };
  var newArr = [
  ];
  for (var i = 0; i < arr.length; i++)
  {
    if (!result[arr[i]])
    {
      newArr.push(arr[i])
      result[arr[i]] = 1
    }
  }
  return newArr
}

oSort([1,
1,
3,
2,
55,
55]);


0 0
原创粉丝点击