Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีใช้ลูป while ซ้อนกัน (Nested While Loop) ใน JavaScript

บทนำ

ลูป while ใช้เพื่อทำงานซ้ำบล็อกโค้ดหรือคำสั่งไปเรื่อยๆตราบใดที่เงื่อนไขยังคงเป็น true เมื่อเงื่อนไขกลายเป็น false ลูปจะสิ้นสุดการทำงาน

ตัวอย่างการใช้งาน Nested While Loop

ตัวอย่างต่อไปนี้แสดงการใช้ลูป while ซ้อนกันเพื่อพิมพ์สัญลักษณ์ # เป็นตารางขนาด 2 แถว 8 คอลัมน์

<html>
<body>
  <script>
    var height = 2;
    var width = 8;
    var col = 0;
    var row = 0;
    document.write("Starting Loop<br> ");
    while (row < height) {
      col = 0;
      while(col < width) {
        document.write("#");
        col++;
      }
      document.write("<br>");
      row++;
    }
    document.write("Loop stopped!");
  </script>
</body>
</html>

คำอธิบายโค้ด

  • ลูปภายนอก (Outer loop): ควบคุมจำนวนแถว (row) ทำงานซ้ำจนกว่า row จะเท่ากับ height
  • ลูปภายใน (Inner loop): ควบคุมจำนวนคอลัมน์ (col) ในแต่ละแถว ทำงานซ้ำจนกว่า col จะเท่ากับ width
  • col = 0; ต้องวางอยู่ภายในลูปภายนอกเพื่อรีเซ็ตค่าคอลัมน์ทุกครั้งที่เริ่มแถวใหม่
  • document.write("<br>"); ใช้ขึ้นบรรทัดใหม่หลังจบแต่ละแถว

ผลลัพธ์ที่ได้

Starting Loop
########
########
Loop stopped!

ข้อควรระวัง

การใช้ลูปซ้อนกันต้องระวังเงื่อนไขการออกจากลูปให้ถูกต้อง มิฉะนั้นอาจเกิด Infinite Loop (ลูปไม่รู้จบ) ได้ ต้องแน่ใจว่าตัวแปรนับ (row, col) ถูกเพิ่มค่าอย่างถูกต้องในแต่ละรอบ