• 数组去重方法


    第一种

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

  • 相关阅读:
    Redis分布式锁的正确实现方式
    Redis+Jedis封装工具类
    MyCat配置文件详解--server.xml
    linux buff/cache释放
    mycat中间件--schema.xml配置文件详解
    mycat中间件--linux安装mycat1.6版本
    如何查找SHELL的进程号并杀死
    dubbo常用配置及注意事项
    xxxx
    解决docker镜像无法下载的问题
  • 原文地址:https://www.cnblogs.com/Strong-stone/p/10641488.html
Copyright © 2020-2023  润新知