- Map的出现是由于在使用obj中,只可以使用字符串当做键名;Es6便出现了提供了Map这种数据结构,可以进行值对值的对应。
- 创建Map Map 与 Set 都是构造函数
let a=new Map([
['a',1],
['b',2]
])
console.log(a)
输出
- Map的属性
与Set一样,size;
a.size
console.log(a.size)
//输出2
- Map的方法
- Set方法
let a=new Map([
['a',1]
])
a.set(‘a’,1).set('b',2).set('c',3)
console.log(a)
输出
可以看出 添加相同的数据被覆盖掉。也可以使用链式的方法添加
- get(key)获取某一项
console.log('a')
console.log('dd')
//输出1和undefined
- delete(key)删除某一项
console.log(a.delete('a'))
console.log(a.delete('a'))
//输出 true和false
- has(key)是否含有某一项
console.log(a.has('a'))
//输出false在5的例子中删除了'a'
- clear()清除所有数据
a.clear()
console.log(a.size)
//输出0
- keys()返回键名的遍历器
let a=new Map([
['a',1],
['b',2]
])
console.log(a.keys)
//输出{'a','b'}
- values()返回所有的值
console.log(a.values())
//输出 {1,2}
- entries() 返回所有的键值对
console.log(a.entries())
//输出 {"a" => 1, "b" => 2,}
- foreach() 遍历每个成员
map.forEach(function (value, key, map) {
console.log(value)
console.log(key)
console.log(map)
})
输出
- Map的排列顺序是按照添加顺序添加的