zoukankan      html  css  js  c++  java
  • 使用js给数组去重的3种常用方法

    首先定义一个数组,下面的三种方法将都是用该数组操作

    // 定义一个数组
      var arr=['js','js','js','html','js','java','c++','css','html5','c#','c#','css','html','js'];

    1.第一种方法

     1 Array.prototype.unique1=function(){
     2       for(var i=0;i<this.length-1;i++){
     3         for(var j=1;j<this.length;j++){
     4           if(this[i]==this[i+j]){
     5             this.splice(i+j,1);
     6             j--;
     7           }
     8         }
     9       }
    10       return arr;
    11     }
    12     console.log(arr.unique1());

    2.第二种方法

     1 Array.prototype.unique2=function(){
     2       var n = []; //一个新的临时数组
     3       for (var i= 0;i<this.length;i++){
     4         //如果当前数组的第i已经保存进了临时数组,那么跳过,
     5         //否则把当前项push到临时数组里面
     6         if (n.indexOf(this[i]) == -1) n.push(this[i]);
     7       }
     8       return n;
     9     }
    10     console.log(arr.unique2());

    3.第三种方法:此方法改变了数组的顺序

     1 Array.prototype.unique3 = function(){
     2       this.sort();
     3       var re=[this[0]];
     4       for(var i=1;i<this.length;i++){
     5         if(this[i]!==re[re.length-1]){
     6           re.push(this[i]);
     7         }
     8       }
     9       return re;
    10     }
    11     console.log(arr.unique3());
  • 相关阅读:
    父组件和子组件之间的生命周期执行顺序
    Vue生命周期四个阶段
    Vue watch监听
    Vue computed计算属性 理解
    Vue中v-if 与 v-show的区别
    虚拟DOM
    MVC与MVVM原理
    单例模式 回流与重绘
    判断某个对象属于哪种数据类型
    原生JS的兼容性问题
  • 原文地址:https://www.cnblogs.com/yuanqiao/p/4501126.html
Copyright © 2011-2022 走看看