跳至主要內容

Map

Yang大约 2 分钟

Mapopen in new window


概述

  • 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值
  • for...of 循环在每次迭代后会返回一个形式为[key,value]的数组(迭代时会根据对象中元素的插入顺序来进行)

Map.length

值为 0

Map.prototype.sizeopen in new window

一个Map 对象的成员数量


Map.prototype.set()open in new window

  • 描述:为 Map 对象添加或更新一个指定了键(key)和值(value)的(新)键值对
  • 语法:myMap.set(key, value)
  • 参数
    • key:要添加至相应 Map 对象的元素的键
    • Value:要添加至相应 Map 对象的元素的值
  • 返回值:Map 对象

Map.prototype.get()open in new window

  • 描述:返回某个 Map 对象中的一个指定元素
  • 语法:myMap.get(key)
  • 参数
    • key:要从目标 Map 对象中获取的元素的键
  • 返回值:返回一个 Map 对象中与指定键相关联的值,如果找不到这个键则返回 undefined

Map.prototype.has()open in new window

  • 描述:检测 map 中是否存在指定元素
  • 语法:myMap.has(key)
  • 参数
    • key:用来检测是否存在指定元素的键值
  • 返回值:如果指定元素存在于 Map 中,则返回t rue。其他情况返回 false

Map.prototype.delete()open in new window

  • 描述:移除 Map 对象中指定的元素
  • 语法:myMap.delete(key)
  • 参数
    • key:从 Map 对象中移除的元素的键
  • 返回值
    • 如果 Map 对象中存在该元素,则移除它并返回 true
    • 如果该元素不存在则返回 false

Map.prototype.clear()open in new window

  • 描述:移除 Map 对象中的所有元素
  • 语法:myMap.clear()
  • 返回值:undefined

Map.prototype.forEach()open in new window

  • 描述:以插入顺序对 Map 对象中的每一个键值对执行一次参数中提供的回调函数
  • 语法:myMap.forEach(callback[, thisArg])
  • 参数
    • callback:每个元素所要执行的函数,它可以接收三个参数
      • value:元素的值
      • key:元素的键
      • Map:当前正在被遍历的对象
    • thisArg:callback 执行时其 this 的值
  • 返回值:undefined

Map.prototype.entries()open in new window

  • 描述:返回一个新的包含 [key, value] 对的 Iterator 对象,返回的迭代器的迭代顺序与 Map 对象的插入顺序相同
  • 语法:myMap.entries()
  • 返回值:一个新的 Map 迭代器对象

Map.prototype.keys()open in new window

  • 描述:返回一个引用的 Iterator 对象。它包含按照顺序插入 Map 对象中每个元素的key值
  • 语法:myMap.keys()
  • 返回值:一个存在引用关系的 Map iterator 对象

Map.prototype.values()open in new window

  • 描述:回一个新的 Iterator 对象。它包含按顺序插入 Map 对象中每个元素的 value 值
  • 语法:myMap.values()
  • 返回值:一个新的 Map 可迭代对象
上次编辑于:
贡献者: sunzhenyang