คำสั่ง continue ใน JavaScript
นอกจากนี้ยังมีคำสั่ง continue,
ซึ่งใช้สำหรับเริ่มการทำซ้ำใหม่ของลูป คำสั่งนี้
บางครั้งอาจมีประโยชน์สำหรับการทำให้โค้ด
ง่ายขึ้น แม้ว่าโดยปกติแล้วงานส่วนใหญ่จะสามารถ
แก้ไขได้โดยไม่ต้องใช้มัน มาดูตัวอย่างการใช้งาน
จริงกัน
สมมติว่าเรามีอาร์เรย์ของตัวเลข มาทำการวนลูป
ผ่านอาร์เรย์นี้ และสำหรับตัวเลขที่หารด้วย 2 ลงตัว
ให้ยกกำลังสองแล้วแสดงผลในคอนโซล ส่วนตัวเลขที่หารด้วย 3
ลงตัว ให้ยกกำลังสามแล้วแสดงผลในคอนโซล นี่คือวิธีแก้ไข
ปัญหาตามที่อธิบาย:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 === 0) {
result = elem * elem;
console.log(result);
} else if (elem % 3 === 0) {
result = elem * elem * elem;
console.log(result);
}
}
อย่างที่คุณเห็น บรรทัด console.log(result)
ถูกทำซ้ำสองครั้ง มาดึงมันออกมา
นอก if แบบนี้:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 === 0) {
result = elem * elem;
} else if (elem % 3 === 0) {
result = elem * elem * elem;
}
console.log(result); // นำการแสดงผลออกมานอกเงื่อนไข
}
แต่ตอนนี้สคริปต์ของเราทำงานต่างออกไปเล็กน้อย:
มันจะแสดงผลตัวแปร result ในคอนโซล
แม้สำหรับองค์ประกอบปกติที่ไม่ผ่านการประมวลผลใน if ของเรา
ซึ่งตามเงื่อนไขของงานเราไม่ต้องการให้ทำเช่นนั้น
มาแก้ไขปัญหานี้โดยเพิ่มเงื่อนไข else
เข้าไปใน if ของเรา ซึ่งจะทำงาน
สำหรับองค์ประกอบที่หารด้วย 2 และ
3 ไม่ลงตัว และใช้คำสั่ง continue ที่นั่น,
ซึ่งจะพาเราไปยังการทำซ้ำใหม่ของลูปทันที:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 == 0) {
result = elem * elem;
} else if (elem % 3 == 0) {
result = elem * elem * elem;
} else {
continue; // ไปยังการทำซ้ำใหม่ของลูป
}
console.log(result); // จะทำงานก็ต่อเมื่อหารด้วย 2 หรือ 3 ลงตัว
}
เขียนลูปที่แสดงเฉพาะ
ตัวเลขคู่ตั้งแต่ 1 ถึง 100
โดยข้ามตัวเลขคี่โดยใช้ continue