Appearance
Map
详细讲解 Map 对象
概述
Map 用于存储键值对
对象介绍
实例化
采用 new Map
传入二维数组,前面为
- 数组
new Set([1,2])
- 字符串
new Set(’demo‘)
- set
new Set(new Set([1,2,new Set([1,2,3])]))
属性
Set.prototype
Set 的原型对象Set.prototype.size
返回 set 对象的元素各数实际上这个是一个访问器属性,定义了 get 方法,通过
forEach
,循环返回元素个数
方法
Set.prototype.add()
添加一个元素Set.prototype.delete()
删除一个元素Set.prototype.clear()
清除元素集Set.prototype.has()
判断元素是否存在注意只用基础类型判断
Set.prototype.values()
获取元素的值集合,返回一个迭代器注意和 Object.keys 区分!!!
Set.prototype.keys()
该函数是为了和 Map 对应,时间上在规范里面keys
和values
是同一个函数Set.prototype.entries()
同上效果同 values 一样,但是由于 Set 不包含 key 所以返回的 value 值和键相同
Set.prototype.forEach()
迭代循环数组注意该方法 forEach 的 index 属性是元素值而非索引,因为 set 没有索引的概念,为了和 map 保持一致采用值作为索引!!!,规范也是这么写的,详见 tc39
其他知识点
- Set[Symbol.species] 返回 Set 构造函数
- Set.prototype[Symbol.iterator] 是 Set.prototype.values 的引用
适用场景
参看 set 工具库 重点特性如下:
- 数组去重
- 集合操作