首页 > 编程语言 > 详细

数组去重方法

时间:2019-04-02 11:31:28      阅读:154      评论:0      收藏:0      [点我收藏+]

第一种

Array.prototype.unique1=function(){

     var res=[this[0]];

     for(var i=1;i<this.length;i++){

           var repeat=false;

           for(var j=0;j<res.length;j++){

                if(this[i]==res[j]){

                   repeat=true;

                   break;

                }

           }

            if(!repeat){

                 res.push(this[i]);

             }

     }

      return   res;

}

var arr=[1,‘a‘,‘a‘,‘b‘,‘d‘,‘e‘,‘e‘,1,0]

alert(arr.unique1());

第二种(先排序再比较)

Array.prototype.unique2=function(){

    this.sort();//先排序

    var res=[this[0]];

    for(var i=1;i<this.length;i++){

         if(this[i]!==res[res.length-1]){

            res.push(this[i]);

        }

    }

    return  res;

}

var arr=[1,‘a‘,‘a‘,‘b‘,‘d‘,‘e‘,‘e‘,1,0]

alert(arr.unique2());

第三种(比较高级)

Array.prototype.unique3=function(){

    var res=[];

    var json={};

    var res=[this[0]];

    for(var i=0;i<this.length;i++){

         if(!json[this[i]]){

            res.push(this[i]);

            json[this[i]]=1;

        }

    }

    return  res;

}

var arr=[112,112,34,‘你好‘,112,112,34,‘你好‘,‘str‘,‘str1‘]

alert(arr.unique3());

 

数组去重方法

原文:https://www.cnblogs.com/Strong-stone/p/10641488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!