## 1.基础
~~~
var s = new Set([1,2,3,4,2]);
console.log(s)
//添加,不会重复添加
s.add(7);
console.log(s);
console.log(s.size)//获取set的长度
~~~
## 2.去重
### 2.1数组
~~~
var s = new Set([1,2,3,4,2]);
var arr =[...s];
console.log(arr);
~~~
### 2.2字符串
~~~
var s = new Set('abcaa');
console.log(s)
//Set(4) {"a", "b", "c", "d"}
var arr =[...s];
console.log(arr.join(""));
//abcd
~~~
## 3.Set 实例的属性和方法
* `Set.prototype.constructor`:构造函数,默认就是`Set`函数。
* `Set.prototype.size`:返回`Set`实例的成员总数。
方法
* `add(value)`:添加某个值,返回 Set 结构本身。
* `delete(value)`:删除某个值,返回一个布尔值,表示删除是否成功。
* `has(value)`:返回一个布尔值,表示该值是否为`Set`的成员。
* `clear()`:清除所有成员,没有返回值。
* `Array.from`方法可以将 Set 结构转为数组。
~~~
const items = new Set([1, 2, 3, 4, 5]);
const array = Array.from(items);
//[1,2,3,4,5]
~~~
## 4.遍历
~~~
* `keys()`:返回键名的遍历器
* `values()`:返回键值的遍历器
* `entries()`:返回键值对的遍历器
* `forEach()`:使用回调函数遍历每个成员
~~~
~~~javascript
let set = new Set(['red', 'green', 'blue']);
for (let item of set.keys()) {
console.log(item);
}
// red
// green
// blue
for (let item of set.values()) {
console.log(item);
}
// red
// green
// blue
for (let item of set.entries()) {
console.log(item);
}
// ["red", "red"]
// ["green", "green"]
// ["blue", "blue"]
~~~
- 将es6转为es5
- 第一节 webpack
- 第二章 基础语法
- 第1节 模块化
- 第2节set和map语法
- 2.1 set
- 第3节 变量
- 第4节 循环of
- 第5节 function
- 第6节 解构赋值
- 1.在对象在函数中的解构
- 第7节 字符串
- 第8节 面向对象
- 8-1 static静态属性,静态方法
- 第9节 JSON对象
- 9-1 Object.keys()
- 第10节 Promise
- 10.1 原理
- 10.2 回调地狱
- 第11节 generator
- 第一节 基本
- 第二节 generator-ajax
- 第12节 yield
- 第13节 asnyc
- 13.1
- 13.2 ajax
- 第14节 array
- 第15节 string方法拓展
- 第三章 webpack的简单配置
- 第四章 高级语法
- 第1节 promise
- a.实例
- b.promise
- 第2节 await,async