ES6基础之——Map

如果需要一个铭值对的结构,我们可以使用对象,每个对象里面可以包含多个项目,每个项目都有一个名字,还有一个跟它对应的值,不过使用对象会有一些限制,也可能会引起冲突,比如不能按使用对象来作为项目的名字,现在我们就可以使用Map来组织这种铭值对的数据了。
创建一个Map,可以使用new Map,例如:
let food = new Map();
console.log(food); //Map{}

   

现在里面没有东西是一个空白的Map
再定义几个变量,然后把这几个变量表示的东西作为food这个Map里面的key,也就是这个项目的名字;
往Map里面添加方法用的是set方法,set方法有两个参数,第一个参数就是key,也就是这个项目的名字,第二个参数是value,也就是参数的值
let food = new Map();
let fruit ={},cook=function(){},dessert="甜点";
food.set(fruit,'apple');
console.log(food); //Map{Object => {"apple"}}
key是一个对象,值是一个apple,key和value之间是箭头
用类似的方法往food里面添加两个项目
let food = new Map();
let fruit ={},cook=function(){},dessert="甜点";
food.set(fruit,'apple');
food.set(cook,'fork');
food.set(dessert,'donut');
console.log(food); //Map{Object => {"apple"},function function=>"fork", "甜点"=>"donut"}
想要知道food里面有多少个选项的话,可以使用size这个属性:
console.log(food.size); //3
使用Map里面的项目的名字可以得到对应的值,需要使用的是get方法:
console.log(food.get(fruit)); //apple
console.log(food.get(cook)); //fork
删除Map里面的项目的话可以使用delete方法:
food.delete(dessert);
console.log(food.has(dessert)); //false
循环处理Map里面的东西可以使用forEach方法:
food.forEach((key,value) =>{
  console.log('${key} = ${value}'); //[object object] = apple function cook(){} = fork
})
清空Map里面的项目使用clear方法:
food.clear();
console.log(food); //Map{}
原文地址:https://www.cnblogs.com/fe-cherrydlh/p/11149175.html