注:与对象不同的是,键和值可以是任意类型的。
应用场景1: 创建map数据结构
const map1 = new Map();
//设置key键
const key1 = "name",
key2 = {},
key3 = function() {};
//设置value
map1.set(key1, "key1‘s value");
map1.set(key2, "key2’s value");
map1.set(key3, "key3‘s value");
console.log(map1.get("name")); //key1‘s value
console.log(map1.get(key2)); //key2’s value
console.log(map1.get(key3)); //key3‘s value
应用场景2:获取map数据结构的长度
console.log(map1.size); //3
应用场景3:遍历map数据结构的key和value
for(var [key,value] of map1){
console.log(`${key} = ${value}`);
}
//结果:name = key1‘s value
[object Object] = key2’s value
function () {} = key3‘s value
for (let item of map1.keys()) {
console.log(item);
}
//结果:name {} ƒ () {}
for (let item of map1.values()) {
console.log(item);
}
//结果:key1’s value key2’s value key3‘s value
应用场景4:将map数据结构的key和value转为数组
const keyArr = Array.from(map1.keys());
console.log(keyArr);
//结果:["name", {…}, ƒ]
const valueArr = Array.from(map1.values());
console.log(valueArr);
//结果:["key1‘s value", "key2’s value", "key3‘s value"]