在es6以前JavaScript使用Object实现键值式存储,es6中新增了两种键值式集合类型Map和Weak Map。
目录
1.创建和初始化
使用new关键字和Map构造函数创建一个空映射。
const myMap=new Map()
如果想在创建时实现初始化只需在创建时向构造函数传入一个可迭代的对象,需要包含键值对数组。例:
const myMap=new Map([["A","a"],["B","b"],["C","c"]])
console.log(myMap)
//Map(3)
//[[Entries]]
//0: {"A" => "a"}
//1: {"B" => "b"}
//2: {"C" => "c"}
//size: 3
//[[Prototype]]: Map
2.基本API
set()方法为Map对象添加新的键值对,或更新指定键值对。set()方法有两个参数,第一个参数是键,第二个参数是值。如果使用时只传入一个参数则默认键为传入的参数,值为undefined。如果使用时不传入参数,则键和值都是undefined。set()方法返回映射实例。例:
const myMap = new Map()
//传入两个参数
let temp = myMap.set("A", "a")
console.log(myMap); //Map(1) { 'A' => 'a' }
console.log(temp); //Map(1) { 'A' => 'a' }
//传入一个参数
myMap.set("B")
console.log(myMap); //Map(2) { 'A' => 'a', 'B' => undefined }
//不传入参数
myMap.set()
console.log(myMap); //Map(3) { 'A' => 'a', 'B&#