您的位置:首页 > Web前端 > JavaScript

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

2015-05-23 22:54 288 查看
第一种方法

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]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: