ฟังก์ชัน entries() ของ TypedArray คืนค่า Iterator object ที่มี คู่ [index, value] สำหรับแต่ละองค์ประกอบใน TypedArray
ไวยากรณ์
typedArray.entries()
ตัวอย่าง
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var int32View = new Int32Array([21, 64, 89, 65, 33, 66, 87, 55]); document.write("เนื้อหา: "+int32View); document.write("<br>"); var it = int32View.entries(); for(i=0; i<int32View.length; i++) { document.write(it.next().value); document.write("<br>"); } </script> </body> </html>
ผลลัพธ์
เนื้อหา: 21,64,89,65,33,66,87,55 0,21 1,64 2,89 3,65 4,33 5,66 6,87 7,55
ตัวอย่าง: เรียก next() เกินขอบเขต
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var int32View = new Int32Array([21, 64, 89, 65, 33, 66, 87, 55]); document.write("เนื้อหา: "+int32View); document.write("<br>"); var it = int32View.entries(); for(i=0; i<int32View.length; i++) { document.write(it.next().value); document.write("<br>"); } document.write(it.next().value); </script> </body> </html>
ผลลัพธ์
เนื้อหา: 21,64,89,65,33,66,87,55 0,21 1,64 2,89 3,65 4,33 5,66 6,87 7,55 undefined
การใช้งานแนะนำ (for...of):
for (const [index, value] of typedArray.entries()) {
console.log(index, value);
}
// Destructuring
for (const [i, v] of int32View.entries()) {
console.log(`${i}: ${v}`);
}
โครงสร้าง Iterator:
it.next()→{value: [index, value], done: false}- จบแล้ว →
{value: undefined, done: true} - ค่า value เป็น array ขนาด 2:
[index, element]