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

    1.es6去重方法
    var arr2 = [1,2,3,2,1,'1','2','a','b','aa','b','c'];
    console.log([...new Set(arr2)]);
    
    2.最基本的去重方法

    定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。

    function unique(arr){
    
      var res = [arr[0]];
    
      for(var i=1;i<arr.length;i++){
    
        var repeat = false;
    
        for(var j=0;j<res.length;j++){
    
          if(arr[i] == res[j]){
    
            repeat = true;
    
            break;
    
          }
    
        }
    
        if(!repeat){
    
          res.push(arr[i]);
    
        }
    
      }
    
      return res;
    
    }
    
    3.先排序在去重

    思路:先将原数组排序,在与相邻的进行比较,如果不同则存入新数组

    function unique(arr){
    
      var arr2 = arr.sort();
    
      var res = [arr2[0]];
    
      for(var i=1;i<arr2.length;i++){
    
        if(arr2[i] !== res[res.length-1]){
    
          res.push(arr2[i]);
    
        }
    
      }
    
      return res;
    
    }
    
    4.利用下标查询
    function unique(arr){
         var newArr = [arr[0]];
         for(var i=1;i<arr.length;i++){
        if(newArr.indexOf(arr[i]) == -1){
                 newArr.push(arr[i]);
            }
            }
            return newArr;
       }
    
  • 相关阅读:
    [概率论]2017.5.9
    [概率论] 2017 5.2
    [离散数学II]2017.5.2
    [离散数学II]2017.4.25
    [概率论]2017.4.19
    [概率论] 2017.4.18
    [离散数学II]2017.4.18
    [离散数学II]2017.4.11
    [概率论]2017.4.12
    [概率论]2017.4.5
  • 原文地址:https://www.cnblogs.com/raind/p/9495014.html
Copyright © 2011-2022 走看看