什么是集合?

集合是一种无序且唯一的数据结构,其中的唯一是指集合中的元素。在 ES6 中新增了一种数据结构 Set 就是集合。

Set 常用操作

  • new
  • add
  • delete
  • has
  • size

应用场景

  1. 去重
  2. 判断某元素是否在集合中
  3. 求两个集合的交集

案例

常用操作

  1. const set = new Set();
  2. // 添加 set 元素
  3. set.add(1);
  4. set.add(5);
  5. set.add(5);
  6. set.add('some text');
  7. const o = { a: 1 };
  8. set.add(o);
  9. set.add({ a: 1 });
  10. // 判断元素是否存在 set 中
  11. const has = set.has('some text'); // true
  12. // 删除 set 元素
  13. set.delete(5);
  14. // 迭代
  15. for (const item of set) {
  16. console.log(item);
  17. }

应用场景

  1. // 去重
  2. const arr = [1, 1, 2, 2];
  3. const arr2 = [...new Set(arr)]; // [1, 2]
  4. // 判断元素是否在集合中
  5. const set = new Set(arr);
  6. const has = set.has(3); // false
  7. // 求交集
  8. const set2 = new Set([2, 3]);
  9. const set3 = [...set].filter((x) => set2.has(x)); // [2]