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

     

    1. ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如:

       let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
       let set = new Set(array);
       console.log(set);
       // => Set {1, 2, 3, 4, 5}
      
    2. ES6中Array新增了一个静态方法Array.from,可以把类似数组的对象转换为数组,如通过querySelectAll方法得到HTML DOM Node List,以及ES6中新增的SetMap等可遍历对象,如:

       let set = new Set();
       set.add(1).add(2).add(3);
       let array = Array.from(set);
       console.log(array);
       // => [1, 2, 3]
      

    于是,现在我们可以用一行代码实现数组去重了:

    let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));
    console.log(array);
    // => [1, 2, 3, 4]
    

    附:ES5实现数组去重

    var array = [1, '1', 1, 2, 3, 2, 4];
    var tmpObj = {};
    var result = [];
    array.forEach(function(a) {
      var key = (typeof a) + a;
      if (!tmpObj[key]) {
        tmpObj[key] = true;
        result.push(a);
      }
    });
    console.log(result);
    // => [1, "1", 2, 3, 4]
  • 相关阅读:
    springboot + self4j 学习笔记
    git 创建本地分支,并且推送到远程分支
    windows 下生成 ssh key
    Topshelf
    ADSL拨号连接
    EF中使用Contains方法
    elasticsearch中的概念简述
    CriticalFinalizerObject的作用
    sqlserver中的统计语法
    Windbg简单介绍
  • 原文地址:https://www.cnblogs.com/fqh123/p/10262307.html
Copyright © 2011-2022 走看看