javascript Map使用介绍
Map的使用场景
Map类似于对象,是键值对的集合,数据可为任意类型,与Object的区别在于Object的键只能是字符串或者Symbols,但Map可以为任意类型,且Map中的键值是有序的,Map有一个比较特殊的应用场景。如果你在开发时不确定键值对里面的键的名称,那么你需要用Map。
Map对象的使用方法:
1.创建map对象
var map = new Map();
2.将键值对放入map对象
map.set("key",value)
map.set("key1",value1)
map.set("key2",value2)
3.根据key获取map值
map.get(key)
4.删除map指定对象
delete map[key]
或
map.delete(key)
5.循环遍历map
map.forEach(function(key){
console.log("key",key) //输出的是map中的value值
})
看到这里可能你不知道Map对象究竟能干什么。
这里就写一下map与array、object的区别(才疏学浅只发现了这么多,以后遇到会持续更新):
map与array、object的对比
map | array | object | |
---|---|---|---|
用字符串做键 | √ | × | √ |
用字符串、数字以外做键 | √ | × | × |
用for of | √ | √ | × |
所以map数据可以在vue中用v-for遍历,解锁更多玩法
v-for="(item,index) in map" 中
index 还是跟以前一样为 0,1,2,3...
item 是一个个数组。数组的第一项为Map的键,第二项为Map的值
如果上述map数据为
map.set("key1","value1")
map.set("key2","value2")
则index与item即为
0 : ["key1","value1"]
1 : ["key2","value2"]