Pelajaran modul (3/4)
istirahat dan lanjutkan
Dua kata kecil yang sangat berguna di dalam satu lingkaran:
breaksegera keluar dari loop terdalam.continuemelompat ke iterasi berikutnya, tanpa mengeksekusi bagian lainnya.
break: keluar lebih awal
Khas untuk "temukan yang pertama yang memenuhi suatu kondisi":
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]); // -2Contoh dengan break eksplisit:
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: lanjutkan ke langkah berikutnya
Ketika suatu elemen tidak menarik tetapi Anda ingin terus mengulanginya:
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]); // 12Dalam banyak kasus, if (cond) { ... } akan setara; continue membantu saat badan panjang
dan Anda ingin menjaga aliran tetap datar (sedikit bersarang).
Cobalah
Tentukan `firstGreater(nums,threshold)` yang mengembalikan elemen pertama dari nums yang lebih besar dari ambang batas, atau tidak terdefinisi jika tidak ada. Gunakan break (atau pengembalian segera).
Tunjukkan petunjuk
Pengembalian di dalam for berfungsi sebagai break + return secara bersamaan.
Solusi tersedia setelah 3 upaya
Tinjau latihan
Tentukan `sumSkippingZeros(nums)` yang menjumlahkan semua elemen kecuali angka nol persisnya. Gunakan terus.
Tunjukkan petunjuk
Jika n === 0, lanjutkan; jika tidak, terakumulasi.
Solusi tersedia setelah 3 upaya