ES6基础之——Map
如果需要一个铭值对的结构,我们可以使用对象,每个对象里面可以包含多个项目,每个项目都有一个名字,还有一个跟它对应的值,不过使用对象会有一些限制,也可能会引起冲突,比如不能按使用对象来作为项目的名字,现在我们就可以使用Map来组织这种铭值对的数据了。
创建一个Map,可以使用new Map,例如:
1 2 | let food = new Map(); console.log(food); //Map{} |
现在里面没有东西是一个空白的Map
再定义几个变量,然后把这几个变量表示的东西作为food这个Map里面的key,也就是这个项目的名字;
往Map里面添加方法用的是set方法,set方法有两个参数,第一个参数就是key,也就是这个项目的名字,第二个参数是value,也就是参数的值
1 2 3 4 | let food = new Map(); let fruit ={},cook= function (){},dessert= "甜点" ; food.set(fruit, 'apple' ); console.log(food); //Map{Object => {"apple"}} |
key是一个对象,值是一个apple,key和value之间是箭头
用类似的方法往food里面添加两个项目
1 2 3 4 5 6 | 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这个属性:
1 | console.log(food.size); //3 |
使用Map里面的项目的名字可以得到对应的值,需要使用的是get方法:
1 2 | console.log(food.get(fruit)); //apple console.log(food.get(cook)); //fork |
删除Map里面的项目的话可以使用delete方法:
1 2 | food. delete (dessert); console.log(food.has(dessert)); //false |
循环处理Map里面的东西可以使用forEach方法:
1 2 3 | food.forEach((key,value) =>{ console.log( '${key} = ${value}' ); //[object object] = apple function cook(){} = fork }) |
清空Map里面的项目使用clear方法:
1 2 | food.clear(); console.log(food); //Map{} |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步