zoukankan      html  css  js  c++  java
  • 数组去重

    1,Array.prototype.unique1=function(){

      var n=[];

      for(var i=0;i<this.length;i++){//遍历原始数组

    //indexOf()查找第一次出现的位置,也可以查找多个,没找到就返回-1.

        if(n.indexOf(this[i])==-1){//临时数组里查找原始数组的this[i],如果找不到就push 进去;

          n.push(this[i]);

        }

      }

      return n;

    }

    2.Array.prototype.unique2=function(){//最快的方法  

      var n={},r=[];                            //n 哈希表; r临时数组;

      for(var i=0;i<this.length;i++){//遍历原始数组

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

          n[this[i]]=true;

          r.push(this[i]);

        }

      }

      return n;

    }

    3.Array.prototype.unique3=function(){

      var n=[this[0]];//结果数组

      for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始

        if(this.indexOf(this[i])==i){//原始数组中第一次出现的元素, 就push进临时数组n

          n.push(this[i]);

        }

      }

      return n;

    }

    4..Array.prototype.unique4=function(){

      this.sort();//先排序

      var re=[this[o]];

      for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始

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

          re.push(this[i]);

        }

      }

      return re;

    }

  • 相关阅读:
    随想 20180517
    随想 20180516
    随想 20180514
    alpinelinux
    装系统时总是提示 保存分区表时出现错误(0000000001)函数不正确
    kindeditor在Firefoxt 和 Chrome 下不能取到值的解决方法
    浏览器兼容
    php生成随机密码的几种方法
    按钮效果
    linux下修改/dev/shm tmpfs文件系统大小
  • 原文地址:https://www.cnblogs.com/alice-fee/p/5463579.html
Copyright © 2011-2022 走看看