每天学点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

【关注一下不迷路~】

每天学点ES6 —— Map 结构

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


分享到:


相關文章: