JS数组去重

JS数组去重

 //数组去除重复的方法1
 Array.prototype.unique1=function (){
     var n=[];
     for(var i=0;i<this.length;i++){
        if(n.indexOf(this[i])==-1){
          n.push(this[i]);
        }
     }
     return n;
 }
 //数组去除重复方法2
 Array.prototype.unique2=function (){
     var n={},r=[];
     //n为hashbiao,r为临时数组
     //ps:对象调用属性 
     //方式一:n.show
     //方式二:var para='show' n[para]
     //方式二可以支持传入参数的形式调用滴呀 
     for(var i=0;i<this.length;i++){
        if(!n[this[i]]){     //如果hash表总没有当前项
            n[this[i]]=true; //存入hash表中滴呀
            r.push(this[i]);
        }
     }
     return r;
 }
 //数组去除重复的方法3
 Array.prototype.unique3=function(){ 
   var n=[this[0]];
   for(var i=1;i<this.length;i++){
      //从第二个数组开始遍历额 indexOf() 获取的是第一个存在元素的位置滴
      if(this.indexOf(this[i])==i){
        n.push(this[i]);      
       }
    }
    return n;
 }
 function show(){
    var arr=[1,2,3,4,2];
    var arrNew=arr.unique2();
    alert(arrNew);
 }

 

posted @ 2016-03-30 14:13  咕-咚  阅读(178)  评论(0编辑  收藏  举报