Map集合是一个新的数据结构,它可以存储键值对,并且可以使用任何类型的值作为键,包括对象、数组和函数。Map也是一种可迭代的结构,可以使用for...of循环遍历。
在ES6中,我们可以使用Map构造函数来创建一个Map集合:
const myMap = new Map();
我们还可以在创建Map时传入一个数组,数组中包含的元素也是键值对:
const myMap = new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]);
Map集合有以下几个常用的方法:
- set(key, value):向Map中添加一个键值对。
- get(key):根据键获取Map中的值。
- has(key):判断Map中是否存在指定的键。
- delete(key):删除Map中指定的键值对。
- clear():删除Map中所有的键值对。
- size:获取Map中键值对的数量。
举个例子:
const myMap = new Map(); myMap.set('name', 'Tom'); myMap.set('age', 20); myMap.set('gender', 'male'); console.log(myMap.get('name')); // Tom console.log(myMap.has('gender')); // true myMap.delete('age'); console.log(myMap.size); // 2 myMap.clear(); console.log(myMap.size); // 0
需要注意的是,Map中的键是严格相等的,这意味着如果我们使用对象作为键,只有当使用同一个对象时才能获取到相应的值。