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]
  • 相关阅读:
    UnixTime的时间戳的转换
    dotnet cors 跨域问题
    sqlServer备份和还原语句
    mvc的生命周期
    Java序列化
    js 分页
    jquery js 分页
    Myeclipse 6.0代码
    前序遍历_中序遍历_后序遍历
    数组去重的一些方法以及数组排序
  • 原文地址:https://www.cnblogs.com/missguolf/p/8185392.html
Copyright © 2011-2022 走看看