zoukankan      html  css  js  c++  java
  • js除重的四种方法

    第一种:

    思路:1、构建一个新的数组用于存放结果

       2、for循环原数组,每次从原数组中取出一个新数与结果数组相比较

       3、若结果数组中没有该元素,将该元素push到结果数组

       代码如下:

        var arr = [1,2,3,2,4,2,3,5];

        var arr1 = [];

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

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

            if(arr[i] = arr1[j]){

              break;

            }

          }

          if(arr[i] !==arr1[j]){

            arr1.push(arr[i]);

          }

        }

      console.log(arr1);

    第二种:

      思路:利用indexOf()

      var arr = [1,2,3,2,4,2,3,5];

      var arr1 = [];

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

        if(arr1.indexOf(arr[i])== -1){

          arr1.push(arr[i]);

        }

      }

      console.log(arr1);     

    第三种:for循环遍历数组

      var arr = [1,2,3,2,4,2,3,5];

      var arr1 = [];

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

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

          if(arr[i] == arr[j]){

            i++;//跳出循环

          }

        }

        arr1.push(arr[i]);

      }

      console.log(arr1);

    第四种:先排序,排序之后,相同的会相邻

      var arr = [1,2,3,2,4,2,3,5];

      var arr1 = [];

      var.sort();

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

        if(arr[i] != arr[i+1]){

          arr1.push(arr[i]);

        }

      }

      console.log(arr4);  

      

  • 相关阅读:
    Linux 中直接读取 CPU 寄存器的方法
    UBUNTU SVN 服务器配置
    LinuxMint 12 install ATI driver
    Mplayer ARM平台下交叉编译
    VMware 中 linux 读取共享文件方法
    glib 交叉编译
    JavaScript中this指针指向的彻底理解
    专属自己的二维游戏引擎【九】
    专属自己的二维游戏引擎【三】
    专属自己的二维游戏引擎【八】
  • 原文地址:https://www.cnblogs.com/lin-f/p/5813217.html
Copyright © 2011-2022 走看看