每天學點ES6 —— Map 結構

相關 es6 文章:

概念

Map 結構類似對象,但是key可以是任意數據類型。

創建

Map 結構只能通過 Map() 構造器創建

var m=new Map();

m.set(1,'a');

//Map(1) {1 => "a"}

Map( [arr] ) 構造器

用來創建一個Set結構的數據,參數 arr 可以是二維數組

var m=new Map([['a',1],['b',2]]);

//Map(2) {"a" => 1, "b" => 2}

Map 結構的屬性和方法

屬性

1. size 成員數量

2. constructor 構造器,自然是 Map

方法

**操作**

1. set(key,value) 添加值並返回自身(可鏈式操作)

2. get(key) 獲取值,獲取不到返回 undefined

3. delete(value) 刪除某個值,返回true/false(刪除不存在的value)

4. clear() 清空所有值,無返回值

5. has(value) 查找,返回true/false

遍歷

**生成遍歷器**

1. keys()

2. values()

3. entries() 鍵和值

這三個返回遍歷器後使用 for...of 遍歷即可。

**遍歷方法**

forEach( fn(key,value,map) ,reporter) 類似數組

類型轉換

1. Map 二維數組

擴展運算符 ...

var s=new Map([['a',1],['b',2]]);

[...s];

//[['a',1],['b',2]]

2. 二維數組轉 Map

作為參數創建 Map 即可

WeakMap

類似 Map ,但是隻能存放對象,而且保存的數據都是弱引用(不被垃圾回收機制計算在內,意味著保存的數據很可能會消失,且弱引用不可遍歷)

- 創建: WeakMap() 構造器

- 方法:add、get、delete、has

- 屬性:無size屬性

- 應用:保存dom,不必擔心內存洩露;存放對象私有屬性;

文章到這裡結束,下篇 ☞ Interator

【關注一下不迷路~】

【html】【css】【html】【css】【javascript】【html】【javascript】【css】【javascript】【css】