Pelajaran 2.3
Keputusan di dalam loop
7 menit · 7 langkah
Langkah 1 dari 7 · Penjelasan
Ada tiga cara keluar dari alur normal sebuah loop:
continuemelompat ke putaran berikutnya.breakkeluar dari loop ini saja. Kode setelah loop tetap jalan.returnkeluar dari seluruh function, sekarang juga.
Contoh: sebuah loop menjumlahkan
[3, -1, 4, 0, 5]. Angka negatif dilewati dengancontinue, dan loop berhenti di 0 denganbreak. Jadi -1 dilewati, 5 tidak pernah dilihat, dan jumlahnya 3 + 4 = 7.Langkah 2 dari 7 · Tebak hasilnya
Kode yang sama. Apa yang di-return untuk
[2, 0, -3, 6]?function solution(nums) { let sum = 0 for (let i = 0; i < nums.length; i++) { if (nums[i] < 0) continue if (nums[i] === 0) break sum += nums[i] } return sum}285
Langkah 3 dari 7 · Tebak hasilnya
breakdi dalam loop bersarang. Apa yang di-return untuk[[1, 0, 1], [1, 1]]?function solution(grid) { let count = 0 for (let r = 0; r < grid.length; r++) { for (let c = 0; c < grid[r].length; c++) { if (grid[r][c] === 0) break count++ } } return count}314
Langkah 4 dari 7 · Cari bug-nya
Soal "Return index angka genap pertama, atau -1." Untuk
[3, 4, 6]kode ini me-return 2, padahal harusnya 1. Ketuk baris yang salah.function solution(nums) { let found = -1 for (let i = 0; i < nums.length; i++) { if (nums[i] % 2 === 0) { found = i continue } } return found}Langkah 5 dari 7 · Tebak hasilnya
Soal "Return true kalau semua angka positif." Apa yang di-return kode ini untuk
[-1, 4]?function solution(nums) { let allPositive = true for (let i = 0; i < nums.length; i++) { if (nums[i] <= 0) { allPositive = false } else { allPositive = true } } return allPositive}truefalse
Langkah 6 dari 7 · Susun kodenya
Susun function yang me-return
truekalau ada kata yang lebih dari 5 huruf. Pakai early return. Dua baris tidak termasuk.for (let i = 0; i < words.length; i++) {if (words[i].length > 5) return truereturn false}}return trueif (words[i].length > 5) return falsefunction solution(words) {Langkah 7 dari 7 · Ringkasan
continuelompat ke putaran berikutnya.breakkeluar dari satu loop.returnkeluar dari function.breakdi loop bersarang hanya keluar dari loop dalam.- Flag "semua" atau "ada" hanya berubah satu arah. Early return biasanya lebih jelas daripada flag.