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}

土豆
7 声望3 粉丝