javascript 数组 去重

时间:2025-05-13 21:06:44

javascript数组去重有如下 方法:

一) 利用 数组中的 indexOf判断 

例如:

Array.prototype.unique=function(){
var n=[];
for(var i=0;i<this.length;i++){
if(n.indexOf(this[i])==-1){
n.push(this[i]);
}
}
return n;
} var array=[3,5,6,7,6,4,3,8,9];
array.unique();

二 ) 利用 hash表 ,把已经出现过的通过下标的形式 存在 Object内中 

Array.prototype.unique=function(){
var arr=[],n={};
for(var i=0;i<this.length;i++){
if(!n[this[i]]){
n[this[i]]=true; //存入hash表
arr.push(this[i]);
}
}
return arr;
}

三) 先把数组用sort排序 ,然后比较相邻的值 

Array.prototype.unique=function(){
var n=[];
this.sort();
for(var i=0;i<this.length;i++){
if(this[i]!=this[i+1]){
n.push(this[i]);
}
}
return n;
} var array=[5,33,6,7,33,22,8,1,5];
var arr=array.unique();
console.log(arr);