如何创建一个 Map
键值对,键可以是对象
const map1 = new Map()
const objkey = {p1: 'v1'}
map1.set(objkey, 'hello')
console.log(map1.get(objkey))
结果:hello
Map可以接受数组作为参数
const map=new Map([
['a',1],
['b',2],
['c',2]
]);
console.log(map)
Map类的属性
console.log(map.size);
Map类的方法
set(key,value)
设置键名key对应的键值为value,然后返回整个Map结构,
如果key已经有值,则会被更新,否则就新生成改建
map.set("hello","world");
map.set("a","5");
console.log(map);
get(key)
get方法读取key对应的值,如果找到返回值,找不到返回undefined
console.log(map.get('a'))
console.log(map.get('new'))
delete(key)
删除某个键,成功返回true,失败返回false
console.log(map.delete("a"))
console.log(map.delete("new"))
has(key)
判断是否有某个key,有true,无false
console.log(map.has("a"))
console.log(map.has("b"))
clear()
清除所有的数据,无返回值
map.clear();
console.log(map)
keys()
返回所有键名
console.log(map.keys());
values()
返回所有键值
console.log(map.values());
entries()
返回所有的键值对
console.log(map.entries());
forEach()
使用回调函数遍历每个成员
map.forEach(function(key,val,map){
console.log(key+':'+val)
})
使用过程的一些注意事项
map.set(NaN,10).set(NaN,20);
console.log(map)//只会添加NaN,20
map.set({},'x').set({},'b');
console.log(map)//会添加两个