Skip to content

介绍

  1. 声明

    js
    let s = new Set();
  2. Set 类似于数组,但不同的是,Set 中的数据具有唯一性,自动去重。

  3. Set 实现了 iterator 接口,可使用 扩展运算 符及 for...of 遍历。

属性和方法

  1. 返回元素个数(size)
  2. 添加元素(add)
  3. 删除元素(delete)
  4. 清空(clear)
  5. 判断元素是否存在(has)

实践

  1. 数组去重

    js
    let arr = [1,2,3,4,5,4,3,2,1];
    let set = new Set(arr);
    arr = [...set];
    console.log(arr);

  2. 数组交集

    js
    let a1 = [1,2,3,4,5,4,3,2,1];
    let a2 = [4,5,6,5,6];
    let arr = [...new Set(a1)].filter(item => new Set(a2).has(item));
    console.log(arr);

  3. 数组并集

    js
    let a1 = [1,2,3,4,5,4,3,2,1];
    let a2 = [4,5,6,5,6];
    let arr = [...new Set([...a1,...a2])];
    console.log(arr);

  4. 数组差集

    js
    let a1 = [1,2,3,4,5,4,3,2,1];
    let a2 = [4,5,6,5,6];
    let arr = [...new Set(a1)].filter(item => !new Set(a2).has(item));
    console.log(arr);

基于 MIT 许可发布