Set

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set 本身是一个构造函数,用来生成 Set 数据结构。

  1. const s = new Set();
  2. [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));
  3. for (let i of s) {
  4. console.log(i);
  5. }
  6. // 2 3 5 4

上面代码通过add方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。

Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。

  1. const set = new Set([1, 2, 3, 4, 4]);
  2. [...set]
  3. // [1, 2, 3, 4]
  4. // 例二
  5. const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
  6. items.size // 5
  7. // 例三
  8. const set = new Set(document.querySelectorAll('div'));
  9. set.size // 56
  10. // 类似于
  11. const set = new Set();
  12. document
  13. .querySelectorAll('div')
  14. .forEach(div => set.add(div));
  15. set.size // 56

to be continue