注:与对象不同的是,键和值可以是任意类型的。
应用场景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"]