Map.prototype.forEach()

基线 广泛可用

此功能非常成熟,可以在许多设备和浏览器版本中正常使用。自 2015 年 7 月.

报告反馈

试试看

语法

forEach()Map 实例的方法,它会对该映射中的每个键值对(以插入顺序)执行提供的函数一次。
forEach(callbackFn)
forEach(callbackFn, thisArg)

js

在执行 callbackFn 时用作 this 的值。

返回值

描述

无 (undefined).

forEach 方法会对映射中实际存在的每个键执行提供的 callback 一次。对于已删除的键,它不会被调用。但是,对于存在的但值为 undefined 的值,它会被执行。

  • callback 会使用 **三个参数** 调用:
  • 条目的 value
  • 条目的 key

正在遍历的 Map 对象

如果为 forEach 提供了 thisArg 参数,它将在调用时传递给 callback,用作其 this 值。否则,将传递 undefined 值用作其 this 值。callback 最终可观察到的 this 值将根据 确定函数看到的 this 的通常规则 确定。

示例

每个值只访问一次,除非它在 forEach 完成之前被删除并重新添加。对于在访问之前被删除的值,不会调用 callback。在 forEach 完成之前添加的新值将被访问。

打印 Map 对象的内容

forEach()Map 实例的方法,它会对该映射中的每个键值对(以插入顺序)执行提供的函数一次。
function logMapElements(value, key, map) {
  console.log(`map.get('${key}') = ${value}`);
}
new Map([
  ["foo", 3],
  ["bar", {}],
  ["baz", undefined],
]).forEach(logMapElements);
// Logs:
// "map.get('foo') = 3"
// "map.get('bar') = [object Object]"
// "map.get('baz') = undefined"

规范

以下代码会为 Map 对象中的每个元素记录一行。
规范
# ECMAScript 语言规范

浏览器兼容性

sec-map.prototype.foreach

另请参阅