Vòng lặp lồng nhau (outer/inner) có thể thoát sớm bằng return trong hàm bao quanh.
Ví dụ
function demoNestedLoops() {
for (var outer = 1; outer < 100; outer++) {
for (var inner = 1; inner <= 5; inner++) {
if (outer === 3) {
return 'OUTER = 3 BÊN TRONG VÒNG LẶP';
}
}
}
return 'KHÔNG THỎA ĐIỀU KIỆN';
}
console.log(demoNestedLoops());
Cách chạy
node demo.js
Kết quả
OUTER = 3 BÊN TRONG VÒNG LẶP
Giải thích: Khi outer === 3, return thoát hoàn toàn hàm (cả 2 vòng lặp). Nếu chỉ muốn thoát vòng trong, dùng break; thoát vòng ngoài dùng label:
outerLoop: for (var i=0; i<10; i++) {
for (var j=0; j<10; j++) {
if (condition) break outerLoop;
}
}