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

    原文链接:https://juejin.im/post/5b17a2c251882513e9059231

    1,去除简单类型

    1.  
      //ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如:
    2.  
      let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
    3.  
      let set = new Set(array);
    4.  
      console.log(set);
    5.  
      // => Set {1, 2, 3, 4, 5}
    6.  
       
    7.  
      //ES6中Array新增了一个静态方法Array.from,可以把类似数组的对象转换为数组,如通过querySelectAll方法得到HTML DOM Node List,以及ES6中新增的Set和Map等可遍历对象,如: let set = new Set();
    8.  
      set.add(1).add(2).add(3);
    9.  
      let array = Array.from(set);
    10.  
      console.log(array);
    11.  
      // => [1, 2, 3]
    12.  
       
    13.  
      //于是,现在我们可以用一行代码实现数组去重了:
    14.  
      let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));
    15.  
      console.log(array);
    16.  
      // => [1, 2, 3, 4]复制代码

    2,去除引用类型

    1.  
      var arr = [{
    2.  
      "name": "ZYTX",
    3.  
      "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
    4.  
      "gender": "AAAAAA.doc"
    5.  
      }, {
    6.  
      "name": "ZYTA",
    7.  
      "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
    8.  
      "gender": "BBBBBB.doc"
    9.  
      }, {
    10.  
      "name": "ZDTX",
    11.  
      "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
    12.  
      "gender": "CCCCCC.doc"
    13.  
      }, {
    14.  
      "name": "ZYTX",
    15.  
      "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
    16.  
      "gender": "AAAAAA.doc"
    17.  
      }];
    18.  
      var hash = {};
    19.  
      arr = arr.reduce(function(item, next) {
    20.  
      hash[next.name] ? '' : hash[next.name] = true && item.push(next);
    21.  
      return item
    22.  
      }, [])
    23.  
      console.log(arr);复制代码

    转载于:https://juejin.im/post/5b17a2c251882513e9059231

  • 相关阅读:
    linux常用命令
    chattr无法删除某个文件
    centos如何卸载软件
    linux命令行下的ftp 多文件下载和目录下载
    yum -y upgrade 和 yum -y update 区别
    Pureftpd
    centos rar安装
    linux系统数据盘挂载教程
    anyexec
    _variant_t
  • 原文地址:https://www.cnblogs.com/vicky-li/p/11639846.html
Copyright © 2011-2022 走看看