試一試
function logMapElements(value, key, map) {
console.log(`m[${key}] = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// Expected output: "m[foo] = 3"
// Expected output: "m[bar] = [object Object]"
// Expected output: "m[baz] = undefined"
語法
js
forEach(callbackFn)
forEach(callbackFn, thisArg)
引數
callbackFn-
要對 Map 中的每個條目執行的函式。該函式會接收以下引數:
thisArg可選-
執行
callbackFn時用作this的值。
返回值
無(undefined)。
描述
forEach 方法會為 Map 中實際存在的每個鍵執行一次提供的 callback。對於已刪除的鍵,不會呼叫。但是,對於存在但值為 undefined 的鍵,仍然會執行。
callback 會被呼叫,並帶有 **三個引數**:
- 條目的
value - 條目的
key - 正在遍歷的
Map物件
如果向 forEach 提供了 thisArg 引數,則在呼叫 callback 時,它將作為其 this 值傳遞。否則,將傳遞值 undefined 作為其 this 值。callback 最終可觀察到的 this 值根據 確定函式所見的 this 的常規規則 來確定。
每個值都會被訪問一次,除非在 forEach 完成之前被刪除又重新新增。callback 不會為在訪問之前被刪除的值呼叫。在 forEach 完成之前新增的新值將被訪問。
示例
列印 Map 物件的內容
以下程式碼為 Map 物件中的每個元素記錄一行
js
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"
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-map.prototype.foreach |
瀏覽器相容性
載入中…