การใช้ return ในลูปใน JavaScript
การที่ return อยู่ในลูป
ไม่ใช่สิ่งผิดเสมอไป ในตัวอย่างต่อไปนี้
มีการสร้างฟังก์ชันที่กำหนดว่า
ต้องรวมองค์ประกอบแรกของอาร์เรย์กี่ตัว
ผลรวมจึงจะมากกว่าหรือเท่ากับ 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// ถ้าผลรวมมากกว่าหรือเท่ากับ 10:
if (sum >= 10) {
return i + 1; // ออกจากลูปและออกจากฟังก์ชัน
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
และในตัวอย่างต่อไปนี้มีการสร้างฟังก์ชันที่
คำนวณว่าต้องบวกจำนวนเต็มเริ่มต้นจาก
1 กี่ตัว เพื่อให้ผลลัพธ์
มากกว่า 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // ลูปไม่สิ้นสุด
sum += i;
if (sum >= 100) {
return i; // ลูปจะทำงานจนกว่าจะออกที่นี่
}
i++;
}
}
console.log( func() );
เขียนฟังก์ชันที่รับพารามิเตอร์เป็น
ตัวเลขและหารมันด้วย 2
หลายครั้ง จนผลลัพธ์น้อยกว่า
10 โดยให้ฟังก์ชันส่งคืนจำนวน
รอบที่ใช้เพื่อให้ได้ผลลัพธ์