ES6
中的Map
类型是一种存储着许多键值对的有序列表,其中的键名和对应的值支持所有的数据类型。
类似于对象,键值对的集合,键不限类型,即“值—值”的对应
对同一个键赋值,后面的会覆盖掉前面的,Map 的键实际上是跟内存地址绑定的,只要内存地址不一样,就视为两个键
Map实例的方法
-
new Map()构造函数:创建Map集合
-
set()方法:往集合中添加新元素[键值对]
-
size属性:集合元素个数
-
get()方法:从集合中获取某个键对应的值
-
has()方法:判断集合中是否存在某键的元素
-
delete()方法:从集合中删除某键的元素
-
clear()方法:清空集合元素
-
forEach()方法:遍历集合元素
let map = new Map();
map.set('name','zz');
map.set('age', 18);
console.log(map.size)//2
console.log(map.get('name'))//zz
console.log(map.has('age'))//true
map.delete('name')
console.log(map.has('name'))//false
console.log(map.size)//1
map.clear()
console.log(map.get('age'))//undefined
console.log(map.size)//0
//使用对象展开运算符可以转化为数组
let map = new Map();
map.set('name','zz');
map.set('age', 18);
let arr = [...map];
console.log(arr);
用数组初始化map
使用foreach 遍历
let map = new Map([['name','zz'],['age',18]]);
console.log(map.get('name'));//zz
map.forEach(function(key,value,map){
console.log(key+value)//namezz //age 18
})