如何用es6 set完成交差并集

1.set用法

Set 实例的要领分为两大类:操纵要领(用于操纵数据)和遍历要领(用于遍历成员)。

  • 操纵要领:

    add(value):增加某个值,返回Set构造自身。
    delete(value):删除某个值,返回一个布尔值,示意删除是不是胜利。
    has(value):返回一个布尔值,示意该值是不是为Set的成员。
    clear():消灭一切成员,没有返回值。

  • 遍历要领:

    keys():返回键名的遍历器
    values():返回键值的遍历器
    entries():返回键值对的遍历器
    forEach():使用回调函数遍历每一个成员
    因为 Set 构造没有键名,只要键值(或者说键名和键值是同一个值)

2.并交差集demo

        let a = new Set([1, 2, 3]);
        let b = new Set([4, 3, 2]);
    // 并集
        let union = new Set([...a, ...b]);
        // Set {1, 2, 3, 4}
        console.log(Array.from(union));
    // 交集
        let intersect = new Set([...a].filter(x => b.has(x)));
        // set {2, 3}
        console.log(Array.from(intersect));
    // 差集
        let difference = new Set([...a].filter(x => !b.has(x)));
        // Set {1}
        console.log(Array.from(difference));

注:Array.from()返回数组范例。

假如您对es6的观点还不是异常的清楚,请移步,感谢!

    原文作者:zhanzhan_wu
    原文地址: https://segmentfault.com/a/1190000012901176
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞