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

 

posted on 2016-03-15 14:47  Alice.Luo  阅读(268)  评论(0编辑  收藏  举报