JavaScript - Map.forEach() 方法
在 JavaScript 中,Map 对象可以使用 forEach() 方法。该方法接受一个回调函数作为参数。它会按插入顺序对 Map 对象中的每个键值对执行一次。此方法不返回任何值(即返回 undefined),并且不会修改调用它的 Map 对象。
此方法几乎兼容所有浏览器,例如 Chrome、Edge、Firefox、Opera 和 Safari。
语法
以下是 JavaScript Map.forEach() 方法的语法 -
forEach(callbackFn, thisArg)
参数
此方法接受两个参数。如下所示:-
callbackFn - 一个函数,对数组中的每个元素调用一次。此函数接受三个参数。以下是每个参数的描述 -
element - 正在处理的当前元素。
index - 当前元素的索引。
array - 调用 forEach 的数组。
thisArg(可选) - 这是一个可选参数,允许您在callbackFn中指定this的值。
返回值
此方法不返回任何内容(即"undefined")。
示例
示例 1
在此示例中,我们使用 JavaScript forEach() 方法遍历 Map 对象中的每个键值对并打印它们−
<html>
<body>
<script>
const map = new Map([
[1, 'apple'],
[2, 'banana'],
[3, 'cherry']
]);
map.forEach((value, key) => {
document.write(`${key}: ${value}`, "<br>");
});
</script>
</body>
</html>
如果我们执行上述程序,它将返回 Map 对象的所有键值对。
示例 2
在此示例中,我们使用 forEach() 方法将 Map 对象中的每个"值"修改为大写。
<html>
<body>
<script>
const myMap = new Map([
[1, 'apple'],
[2, 'banana'],
[3, 'cherry']
]);
myMap.forEach((value, key, map) => {
map.set(key, value.toUpperCase());
});
document.write(myMap.get(1), "<br>");
document.write(myMap.get(2), "<br>");
document.write(myMap.get(3));
</script>
</body>
</html>
执行上述程序后,Map 对象中的所有"值"都将被修改为大写。
示例 3
在下面的示例中,我们使用 forEach() 方法遍历 Map 对象中的每个键值对,并将它们推送到名为"keyValueArray"的数组中。
<html>
<body>
<script>
const myMap = new Map([
[1, 'apple'],
[2, 'banana'],
[3, 'cherry']
]);
const keyValueArray = [];
myMap.forEach((value, key) => {
keyValueArray.push([key, value]);
});
document.write(keyValueArray);
// Output: [[1, 'apple'], [2, 'banana'], [3, 'cherry']]
</script>
</body>
</html>
如果我们执行上述程序,Map 对象中的元素将被推送到一个空数组中。

