Map.prototype.forEach()
基线 广泛可用
此功能非常成熟,可以在许多设备和浏览器版本中正常使用。自 2015 年 7 月.
报告反馈
试试看
语法
forEach()
是 Map
实例的方法,它会对该映射中的每个键值对(以插入顺序)执行提供的函数一次。forEach(callbackFn)
forEach(callbackFn, thisArg)
js
参数
-
callbackFn
要在映射中的每个条目上执行的函数。该函数将使用以下参数调用。
-
value
每次迭代的值。
-
key
每次迭代的键。
-
map
- 正在迭代的映射。
-
thisArg
可选
在执行 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