Mục đích
break label thoát khỏi vòng lặp có label đó (thường là outer loop trong nested loop).
Ví dụ
<script>
document.write("Vao vong lap<br>");
outer: for (var i = 0; i < 5; i++) {
document.write("Outer: " + i + "<br>");
inner: for (var j = 0; j < 5; j++) {
if (j > 3) break; // thoát inner
if (i == 2) break inner; // thoát inner (explicit)
if (i == 4) break outer; // thoát outer
document.write(" Inner: " + j + "<br>");
}
}
document.write("Thoat!<br>");
</script>
Kết quả
Vao vong lap Outer: 0 Inner: 0 Inner: 1 Inner: 2 Inner: 3 Outer: 1 Inner: 0 Inner: 1 Inner: 2 Inner: 3 Outer: 2 Inner: 0 Inner: 1 Inner: 2 Inner: 3 Outer: 3 Inner: 0 Inner: 1 Inner: 2 Inner: 3 Outer: 4 Thoat!
Khi nào dùng
- Nested loop cần thoát nhiều cấp.
- Tìm kiếm: tìm thấy → break outer.
Thay thế hiện đại
// Dùng function + return
function find() {
for (const i of arr1) {
for (const j of arr2) {
if (match(i, j)) return {i, j}; // thoát hẳn
}
}
return null;
}
// Hoặc Array methods
arr1.some(i => arr2.some(j => match(i, j))); // boolean