javascript 数组 去重

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);