ฟังก์ชัน forEach() ของออบเจกต์ Map ใช้วนลูปผ่านคู่คีย์-ค่า (key-value pairs) ทั้งหมดใน Map และเรียกใช้ฟังก์ชัน callback สำหรับแต่ละคู่
ไวยากรณ์
mapObj.forEach(callbackFn[, thisArg])
ตัวอย่าง
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var mapObj = new Map(); mapObj.set('1', 'Java'); mapObj.set('2', 'JavaFX'); mapObj.set('3', 'HBase'); mapObj.set('4', 'Neo4j'); function show(value, key, map) { document.write(key + ': ' + value); document.write("<br>"); } mapObj.forEach(show); </script> </body> </html>
ผลลัพธ์
1: Java 2: JavaFX 3: HBase 4: Neo4j
พารามิเตอร์ของ callback function:
value- ค่าของแต่ละรายการkey- คีย์ของแต่ละรายการmap- ออบเจกต์ Map ที่กำลังวนลูป
ข้อแตกต่างจาก Array.forEach():
- Map เรียงลำดับตามลำดับที่เพิ่มเข้าไป (insertion order)
- ไม่สามารถ break/continue ได้ (ต้องใช้ for...of แทน)
- callback ได้รับ (value, key, map) ไม่ใช่ (element, index, array)