一。怎么用
const m = new Map(); console.log(m);//{size: 0} m.set('a', 1);//添加键、值 m.set('b', 2); console.log(m);//{'a' => 1, 'b' => 2}
二。和对象比较,对象键一般是字符串;Map的键可以是五种基本型和引用型:对象([],函数,{},set实例,map实例等)
三。方法
1.set方法,添加键值对,如果键已经存在,后添加的键值对覆盖已有的,且可以连续打点调用
注意:这里的覆盖性和set的不允许重复值的区别,不允许重复值是只要已有a成员,不允许出现和a成员全等的成员
2.get方法,参数里面写map实例的键名,返回值是键对应的值,如果参数写了一个map实例中不存在的键名,会返回undefined;
const m = new Map(); console.log(m.set('a', 1));//调用方法返回的是m(已经通过该方法添加过键值对的m)(可以连续打点调用的原因) console.log(m);//{'a' => 1} m.set('c', 3).set('b', 2); console.log(m);//{'a' => 1, 'c' => 3, 'b' => 2} console.log(m.get('a'));//13.forEach方法
const m = new Map(); m.set('a', 1).set('b', 2); console.log(m); m.forEach(function (value, key, map) { console.log(value, key, map);//第1,2,3个参数分别代表值,键,该map实例,且map和m是同一引用地址 });
打印结果如图:
4.has方法:判断是否有这个属性,参数写键名,返回布尔值;
5.delete方法:参数写键名,把该键值对删除,如果写的键名在该实例中不存在,那么什么也不会发生也不会报错;
6.clear方法:清空实例里面的键值对;
四。size属性
实例.szie:返回该实例里有几个键值对
五。Map构造函数的参数(只能传一个参数)
1.数组:只能传二维数组,且必须体现键值对
const m = new Map([['a', 1], ['b', 2], ['c', 3]]); console.log(m);//{'a' => 1, 'b' => 2, 'c' => 3}
2.set和map实例
标签:ES6,set,console,log,Map,map,键值 From: https://www.cnblogs.com/zhoushangquan/p/17046648.html