.Map集合
类似于对象,key-value对应的集合。
1)特点:
key值不局限于字符串,可以是任意数据类型
2)API
Map.prototype.size 返回 Map 结构的成员总数。
Map.prototype.set(key, value) set方法设置键名key对应的键值为value,然后返回整个map结构。如果key已经有值,则键值会被更新,否则就新生成该键。
Map.prototype.get(key) get方法读取key对应的键值,如果找不到key,返回undefined。
Map.prototype.has(key) has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
Map.prototype.delete(key)delete方法删除某个键,返回true。如果删除失败,返回false。
Map.prototype.clear() 清除所有成员,没有返回值
Map.prototype.keys() 返回键名的遍历器
Map.prototype.values() 返回键值的遍历器
Map.prototype.entries() 返回键值对的遍历器
Map.prototype.forEach() 使用回调函数遍历每个成员
let obj1 = {
name: 'zhangsan',
age: 12,
gender: 'male'
}
let map = new Map(Object.entries(obj1))
map.set(true, 0)
map.set({ a: 1, b: 2 }, ['tom', 'vicky'])
console.log(map.size);
console.log(map.get(true));
console.log(map);
map.forEach((value, key) => {
console.log(value, key);
})
输出为:
5
0
Map(5) {
'name' => 'zhangsan',
'age' => 12,
'gender' => 'male',
true => 0,
{ a: 1, b: 2 } => [ 'tom', 'vicky' ]
}
zhangsan name
12 age
male gender
0 true
[ 'tom', 'vicky' ] { a: 1, b: 2 }