三分钟学会javascript中map对象的用法上一篇花几分钟看set对象的用法,今天写一些用法地图对象。两者的属性和方法相似,老规矩,我们整体过一遍。1.构造方法letmyMap1=newMap([[1,'一'],[2,'二'],[3,'三'],[1,'四']])letmyMap2=newMap()2.size属性获取元素个数。由于map的key不能相同,相同则使用后一个,所以myMap1的size为3console.log(myMap1.size)//3console.log(myMap2.size)/03.get方法获取对应的值console.log(myMap1.get(1))//四4.has方法判断是否包含对应的keyconsole.log(myMap1.has(1))//true5.keys返回依次插入的每个元素的键值lettest=myMap1.keys()for(letkeyoftest){console.log(key)}//1,236.values方法返回每个元素按顺序插入元素的值是迭代器对象lettest2=myMap1.values()for(letvalueoftest2){console.log(value)}//四二三注意上面的打印顺序,你可以看到最先出现在构造方法中的key在迭代对象中也是最先出现的。不是有重复就删除再添加,而是直接覆盖对应的value7。set方法在mapmyMap2.set(6,6)8中插入或覆盖对应的key和value.entries方法返回一个包含[key,value]的迭代器对象constiterator1=myMap1.entries()for(constitemofiterator1){console.log(typeofitem,Array.isArray(item),item)}9.delete方法删除对应的key,返回删除前是否包含该元素constmap1=newMap();map1.set('bar','foo');console.log(map1.delete('bar'));//预期结果:true10。clear方法清除map对象,没什么好说的,myMap1.clear()当然,在很多场景下,我们也可以使用object{}来实现map的功能,但是两者区别还是比较大的细节,尤其是顺序和密钥类型
