特点:
-类似于对象,本质上是键值对的集合;
-"键"不局限于字符串,各种类型的值都可以当作键(包括对象);
-对象'字符串-值',Map'值-值'是一种更加完善的hash结构体现 ;
1、创建一个Map
let obj1 = {a:1}, obj2 = {b:2};
const map = new Map([
['name','张三'],
['age',22],
['sex','男'],
[obj1,'今天天气好'],
[[1,2],'哈哈哈'],
['age',55]
]);
console.log(map);
console.log(map.size);//5 也可以用来去重
2、方法set和get delete、has、clear类似于数据集合set中的
map.set(['friends',['露露','丽丽']]).set(['pet',['xiaohua']]);//为map中添加属性和值
map.get('name');//取值
map.delete(obj1);//删除
//注意事项
map.set({},'哈哈哈哈');
map.set({},'呵呵呵呵');//这在map中添加了两个对象,因为对象是个复杂的数据类型,会在栈里开辟地址,在堆里存放值
3、keys() values() entries()
map.keys();//取键
map.values();//取值
map.entries();//取键值
4、遍历
map.forEach(function(value,index){
console.log(index + ': ' + value);
})
网友评论