前面说过Set和Map是ES6中的新的数据结构(不是数据类型是存储数据的集合结构),上面说过,Set类似与数据的形式而这个类似与object(对象),看一下这个Map对象的结构的声明!这个Map也是一个键值对!
var m =new Map()
m.set(1,'abc')
m.set('啊哈哈',853)
m.set(6,123)
m.set(4,'00')
console.log(m)
console.log(m.get(4))
复制
通过上述定义可以看出通过set方法可以设置Map的对象,get得到指定的索引对应值.
看一下Map结构的其他方法
类似与Set的其他三种方法(删除元素,判断存在和清空结构)
判断存在----has
删除-------delete
清空-----clear
Map的初始化
定义一个Map类型可以传入一个二维数组,
let m =new Map([
[1>5,"大于"],
[6,"six"],
[0,false],
["abc",'单词'],
])
console.log(m)
console.log(m.get("abc"))
复制
类似与Set传入一个数组,这里传入二维数据!Set的索引(Key)可以传入任意类型而object只能传入字符串
Map结构遍历和Set类似,可以使用for...keys遍历键,values遍历值,entries遍历键值
//遍历索引
//for (x of m.keys()) {
//console.log(x)
//}
//遍历 键值
//for (x of m.values()) {
//console.log(x)
//}
//遍历键值对 entries
for (x of m.entries()){
console.log(x)
}
复制