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中删除元素3set.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---遍历汇合

    //遍历汇合setfor (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}