• 公共方法总结之数组去重的多种方法


    1、ES6的Set方法

    function unique(arr){
      return Array.from(new Set(arr))      
    }
    console.log(unique([1,1,2,2,3,3,4,4])) //[1,2,3,4]

    2、最常用使用for循环

    function unique(arr){
      for(var i = 0; i < arr.length; i++) {
        for(var j = i+1; j < arr.length; j++) {
          if(arr[i] == arr[j]){
              arr.splice(j,1)
              j--;
          }
        }                  
      }
      return arr  
    }
    unique([1,1,2,2,3,3,4,4]) //[1,2,3,4]

    3、利用indexOf方法

    function unique(arr){
      var temp = [];
      for(var i = 0; i < arr.length; i++){
        if(temp.indexOf(arr[i]) === -1){
          temp.push(arr[i])
        }        
      }
      return temp
    }
    console.log(unique([1,1,2,2,3,3,4,4])) //[1,2,3,4]

    4、利用sort方法

    function unique(arr){
      arr = arr.sort();
      var array = [arr[0]]
      for(var i = 1; i < arr.length; i++){
          if(arr[i] != arr[i-1]){
            array.push(arr[i])  
          }
      }
      return array      
    }
    unique([1,2,3,4,1,2,3,4]) //[1,2,3,4]

    5、ES6的includes方法

    function unique(arr){
      var array = [];
      for(var i = 0; i < arr.length; i++){
        if(!array.includes(arr[i])){
          array.push(arr[i])
        }
      }
      return array  
    }
    unique([1,1,2,2,3,3,4,4]) //[1,2,3,4]

    6、暂时这么多,后续补充

  • 相关阅读:
    nfs共享目录及sersync实时同步
    rsync备份
    MySQL基础操作
    源码包安装MySQL
    二进制安装MySQL
    Centos6防火墙-iptables版
    linux系统mongdb基础(1)
    linux系统ElK基础filebeat收集日志(4)
    linux系统ElK基础(3)
    linux系统ElK基础(2)
  • 原文地址:https://www.cnblogs.com/zmyxixihaha/p/10895201.html
Copyright © 2020-2023  润新知