ES6中新增的复杂数据类型,特点

  1. 是多个键值对的集合,按照添加顺序排序
  2. key、value都可以是任意类型(包括对象)

定义

  1. const map = new Map()
  2. const map = new Map([['a','b'],['c','d']]) //创建有数据的map
  • 使用 Map 构造函数创建实例
  • Map 接收一个数组或可迭代对象,每个成员都必须是键值对形式
    • 数组:必须是二维数组,每个子数组都要有两个元素,第一个作为key,第二个作为value

操作

Map.prototype.get(key)                        // 获取value
Map.prototype.set(key, value)                 // 添加 + 修改
Map.prototype.delete(key)                                   // 删除
Map.prototype.clear()                                          // 清空
Map.prototype.has(key)                        // 判断

Map.prototype.forEach((value, key) => {})     // 遍历

mapObj.size                                   // 属性, 键值对数量


其他API

Map.prototype.keys()           // key集合
Map.prototype.values()         // value集合
Map.prototype.entrys()         // 键值对集合
  • 都是返回一个MapIterator(遍历器)