Map
2022年10月14日大约 2 分钟
概述
- 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值
for...of
循环在每次迭代后会返回一个形式为[key,value]的数组(迭代时会根据对象中元素的插入顺序来进行)
Map.length
值为 0
Map.prototype.size
一个Map 对象的成员数量
Map.prototype.set()
- 描述:为 Map 对象添加或更新一个指定了键(key)和值(value)的(新)键值对
- 语法:
myMap.set(key, value)
- 参数
- key:要添加至相应 Map 对象的元素的键
- Value:要添加至相应 Map 对象的元素的值
- 返回值:Map 对象
Map.prototype.get()
- 描述:返回某个 Map 对象中的一个指定元素
- 语法:
myMap.get(key)
- 参数
- key:要从目标 Map 对象中获取的元素的键
- 返回值:返回一个 Map 对象中与指定键相关联的值,如果找不到这个键则返回 undefined
Map.prototype.has()
- 描述:检测 map 中是否存在指定元素
- 语法:
myMap.has(key)
- 参数
- key:用来检测是否存在指定元素的键值
- 返回值:如果指定元素存在于 Map 中,则返回t rue。其他情况返回 false
Map.prototype.delete()
- 描述:移除 Map 对象中指定的元素
- 语法:
myMap.delete(key)
- 参数
- key:从 Map 对象中移除的元素的键
- 返回值
- 如果 Map 对象中存在该元素,则移除它并返回 true
- 如果该元素不存在则返回 false
Map.prototype.clear()
- 描述:移除 Map 对象中的所有元素
- 语法:
myMap.clear()
- 返回值:undefined
Map.prototype.forEach()
- 描述:以插入顺序对 Map 对象中的每一个键值对执行一次参数中提供的回调函数
- 语法:
myMap.forEach(callback[, thisArg])
- 参数
- callback:每个元素所要执行的函数,它可以接收三个参数
- value:元素的值
- key:元素的键
- Map:当前正在被遍历的对象
- thisArg:callback 执行时其 this 的值
- callback:每个元素所要执行的函数,它可以接收三个参数
- 返回值:undefined
Map.prototype.entries()
- 描述:返回一个新的包含 [key, value] 对的 Iterator 对象,返回的迭代器的迭代顺序与 Map 对象的插入顺序相同
- 语法:
myMap.entries()
- 返回值:一个新的 Map 迭代器对象
Map.prototype.keys()
- 描述:返回一个引用的 Iterator 对象。它包含按照顺序插入 Map 对象中每个元素的key值
- 语法:
myMap.keys()
- 返回值:一个存在引用关系的 Map iterator 对象
Map.prototype.values()
- 描述:回一个新的 Iterator 对象。它包含按顺序插入 Map 对象中每个元素的 value 值
- 语法:
myMap.values()
- 返回值:一个新的 Map 可迭代对象