JavaScript 如何迭代Map元素
Map() 是JavaScript中的一种元素集合,每个元素都以键值对的形式保存。此方法在返回更新后的数组之前将回调函数应用于数组的每个元素。
Map() 关键字用于生成对象。map()方法遍历给定数组中的每个对象。map()方法与entries()方法结合使用,循环遍历对象并返回一个包含键值对数据的数组。
这里有两种方法来迭代JavaScript中的Map元素:
- 使用for…of循环
- 使用forEach循环
方法一:使用for…of循环
for…of循环 遍历可迭代对象(如Array、Map、Set、arguments对象等),使用语句来执行每个不同属性的值的自定义迭代钩子。
语法:
for ( variable of iterableObjectName) {
...
}
示例: 在这个示例中,我们使用for…of循环来遍历map对象。
JavaScript
let newMap = new Map()
newMap.set("Cricket", "sport");
newMap.set("Apple", "fruit");
for (let [key, value] of newMap) {
console.log(key + " is " + value);
}
输出:
Cricket is sport
Apple is fruit
方式二:使用forEach()循环
Map.forEach()方法用于以给定的函数循环遍历映射,并对每个键值对执行给定的函数。
语法:
myMap.forEach(callback, value, key, thisArg)
示例: 这里我们展示了使用Javascript Map.forEach()方法的基本用法。
Javascript
// Creating a map using Map object
let newMap = new Map();
// Adding values to the map
newMap.set("Monday", 1);
newMap.set("Tuesday", 2);
newMap.set("Wednesday", 3);
// Logging map object to console
newMap.forEach((values, keys) => {
console.log(values, keys);
});
输出
1 Monday
2 Tuesday
3 Wednesday