ฟังก์ชัน entries() ของออบเจกต์ Map คืนค่า Iterator object ที่มีคู่คีย์-ค่า (key-value pairs) ทั้งหมดใน Map ตามลำดับที่เพิ่มเข้าไป
ไวยากรณ์
mapObj.entries()
ตัวอย่าง
<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'); var it = mapObj.entries(); for(i=0; i<mapObj.size; i++) { document.write(it.next().value); document.write(" <p> "); } </script> </body> </html>
ผลลัพธ์
1,Java 2,JavaFX 3,HBase 4,Neo4j
ตัวอย่าง: ใช้ next() ทีละคู่
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var mapObj = new Map(); mapObj.set('1', 'Raju'); mapObj.set('2', 'Ram'); mapObj.set('3', 'Rahim'); mapObj.set('4', 'Robert'); var it = mapObj.entries(); document.write(it.next().value); document.write("<br>"); document.write(it.next().value); </script> </body> </html>
ผลลัพธ์
1,Raju 2,Ram
การใช้งานกับ for...of (แนะนำ):
for (const [key, value] of mapObj.entries()) {
console.log(key, value);
}
// หรือสั้นๆ (Map เป็น iterable เอง)
for (const [key, value] of mapObj) {
console.log(key, value);
}
โครงสร้าง Iterator:
it.next()คืนค่า{value: [key, value], done: false}- เมื่อจบแล้ว:
{value: undefined, done: true}