相關 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】