# 一、基本用法
Set 类似于数组,但是成员的值都是唯一的,没有重复。
Set本身是一个构造函数,用来生成Set数据结构
```js
const s = new Set();
[2, 3, 5, 4, 5, 2, 2].forEach((x) => s.add(x));
for(let i of s) {
console.log(i);
}
// 2 3 5 4
```
**Set函数可以接受一个数组(或者具有iterable接口的其他数据结构)作为参数,用来初始化。**
* Set函数接受数组作为参数
```js
// 例一
const set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]
```
```js
// 例二
const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
items.size // 5
```
* Set函数接受类似数组的对象作为参数
```js
// 例三
function divs () {
return [...document.querySelectorAll('div')];
}
const set = new Set(divs());
set.size // 56
// 类似于
divs().forEach(div => set.add(div));
set.size // 56
```
ES6 Set