Map forEach() 方法

admin發表於2019-04-08

此方法將會以插入順序對Map物件中的每一個鍵值對執行一次引數提供的回撥函式。

更多內容可以參閱Map和WeakMap 資料結構一章節。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
myMap.forEach(callback[, thisArg])

引數解析:

(1).callback:必需,對於Map物件中的每個元素,forEach 都會呼叫函式一次;回撥函式具有三個引數。

   <1>.value:可選,元素的值。

   <2>.key:可選,元素的鍵。

   <3>.Map:可選,當前的Map物件。

(2).thisArg:可選,callback執行時其this的值。 

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let mapData = new Map();
let objKey = { p: "antzone" };
   
mapData.set(objKey, "螞蟻部落");
mapData.set("age", 4);
mapData.forEach(function (value,key) {
  console.log(value,key);
})

上面的程式碼可以輸出Map物件的值和鍵。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let mapData = new Map();
let objKey = { p: "antzone" };
let obj = {
  num:5
}
mapData.set("a", 1);
mapData.set("b", 2);
mapData.set("c", 3);
mapData.forEach(function (value,key) {
  console.log(value*this.num);
}, obj)

從上面的程式碼可以看出回撥函式中this指向obj物件。

相關文章