Bài học theo mô-đun (3/4)
phá vỡ và tiếp tục
Hai từ nhỏ rất hữu ích bên trong một vòng lặp:
breakthoát khỏi vòng lặp trong cùng ngay lập tức.continuechuyển sang lần lặp tiếp theo mà không thực thi phần còn lại của nội dung.
break: thoát sớm
Điển hình cho việc "tìm cái đầu tiên thỏa mãn điều kiện":
function primoNegativo(nums) {
for (const n of nums) {
if (n < 0) return n; // o: result = n; break;
}
return undefined;
}
primoNegativo([3, 7, -2, 4, -9]); // -2Ví dụ với break rõ ràng:
let trovato = -1;
const nums = [10, 20, 30, 40, 50];
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 30) {
trovato = i;
break;
}
}
trovato; // 2continue: chuyển sang phần tiếp theo
Khi một phần tử không thú vị nhưng bạn muốn tiếp tục lặp lại:
function sommaPari(nums) {
let totale = 0;
for (const n of nums) {
if (n % 2 !== 0) continue; // salta i dispari
totale += n;
}
return totale;
}
sommaPari([1, 2, 3, 4, 5, 6]); // 12Trong nhiều trường hợp, if (cond) { ... } sẽ tương đương; continue giúp ích khi cơ thể dài
và bạn muốn giữ cho dòng chảy ổn định (ít lồng nhau).
Hãy thử nó
Xác định `firstGreater(nums, ngưỡng)` trả về phần tử đầu tiên của nums lớn hơn ngưỡng hoàn toàn hoặc không xác định nếu không có. Sử dụng break (hoặc quay lại ngay lập tức).
Hiển thị gợi ý
Một return bên trong for hoạt động như break + return cùng một lúc.
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
Xác định `sumSkippingZeros(nums)` tính tổng tất cả các phần tử ngoại trừ các số 0 chính xác. Sử dụng tiếp tục.
Hiển thị gợi ý
Nếu n === 0, tiếp tục; nếu không thì tích lũy.
Giải pháp khả dụng sau 3 lần thử