乐趣区

关于javascript:Set集合

Set 是值的汇合,且汇合内的元素只会呈现一次。

Set 的根本 API 如下

  1. new Set — 创立汇合

    const set = new Set(); // 创立一个名为 set 的汇合
    console.log(set);
  2. add— 增加元素

    // 在 set 汇合中插入 1,2,3  2 不会被反复增加
    set.add(1).add(2).add(2).add(3);
    console.log(set); //{1, 2, 3}
  3. delete— 删除元素

    // 从汇合 set 中删除元素 3
    set.delete(3);
    console.log(set); //{1, 2}
  4. has— 元素是否在汇合中

    // 判断 1 是否存在汇合 set 中
    console.log(set.has(1)); //true
  5. size— 汇合大小

    //size 属性返回汇合元素个数 (汇合大小)
    console.log(set.size); //2
  1. for of— 遍历汇合

    // 遍历汇合 set
    for (const item of set) {console.log(item); //1  2
    }

Set 应用场景

  1. 数组去重

    const A = [1, 2, 2, 3, 3, 4];
    console.log(new Set([...A])); //{1,2,3,4}
  2. 汇合并集

    const A = new Set([1, 2, 3]);
    const B = new Set([2, 3, 4]);
    
    const union = new Set([...A, ...B]); // 并集 {1,2,3,4}
  3. 交加

    const intersection = new Set([...A].filter((x) => B.has(x)));// 交加 {2,3}
  4. 差集

    const difference = new Set([...union].filter((x) => !intersection.has(x))); // 差集 {1,4}
退出移动版