zoukankan      html  css  js  c++  java
  • ES6 中的 set 用法

    //定义从var变为let 不可重复定义
    let a=[1,2,3,4,5];
     
    // Set 它类似于数组,但是成员的值都是唯一的,没有重复的值。
     
        let set=new Set();
     
    Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。
    add(value):添加某个值,返回 Set 结构本身。
    delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
    has(value):返回一个布尔值,表示该值是否为Set的成员。
    clear():清除所有成员,没有返回值。
    Array.from方法可以将 Set 结构转为数组。
     
    Set 结构的实例有四个遍历方法,可以用于遍历成员。
    keys():返回键名的遍历器
    values():返回键值的遍历器
    entries():返回键值对的遍历器
    forEach():使用回调函数遍历每个成员
    需要特别指出的是,Set的遍历顺序就是插入顺序。
    由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。
    Set 结构的实例默认可遍历,它的默认遍历器生成函数就是它的values方法。
    这意味着,可以省略values方法,直接用for...of循环遍历 Set。
    扩展运算符(...)内部使用for...of循环,所以也可以用于 Set 结构。
     
    举例
    //1 数组去重
    let a=[1,2,3,4,5,6,7,1,2,3];
    let b=new Set([...a]);
    b=[...b];
     
     
    // 2 求交集 并集  差集
    let a=new Set[1,2,3];
    let b=new Set[3,4,5];
    //交集
    let c=new Set([...a,...b]);
    //并集
    let d=new Set([...a].filter(x=>b.has[x]));
    //交集
    let d=new Set([...a].filter(x=>!b.has[x]));
  • 相关阅读:
    在宏块级冗余可调的多描述视频编码算法方面取得进展(转载)
    C++单例模式
    C++手动实现库函数
    C#操作java平台生成的公钥
    C++之位操作符
    Windows 8 应用栏
    Windows 8 本地数据存储
    Win8的页面缓存
    操作符sizeof
    three.js结合geoJson绘制中国地图
  • 原文地址:https://www.cnblogs.com/ZXH-null/p/13964540.html
Copyright © 2011-2022 走看看