## 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