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