Pelajaran 2.2
Batas loop
6 menit · 7 langkah
Langkah 1 dari 7 · Penjelasan
Array dengan panjang
npunya index0sampain - 1. Jadi loop standarnyai < nums.length, bukani <= nums.length.Kebanyakan bug batas loop datang dari tiga tempat:
<lawan<=, membacanums[i + 1]di item terakhir, dan loop mundur yang berhenti terlalu cepat.Langkah 2 dari 7 · Tebak hasilnya
Perhatikan
<=. Apa yang di-return untuk"abc"?function solution(s) { let out = "" for (let i = 0; i <= s.length; i++) { out += s[i] } return out}"abcundefined""abc""ab"
Langkah 3 dari 7 · Tebak hasilnya
Loop mundur. Apa yang di-return untuk
[1, 2, 3]?function solution(nums) { const out = [] for (let i = nums.length - 1; i > 0; i--) { out.push(nums[i]) } return out}[3, 2][3, 2, 1][2, 1]
Langkah 4 dari 7 · Cari bug-nya
Soal "Return hasil kali terbesar dari dua tetangga." Untuk
[3, 6, -2]kode ini me-returnNaN. Ketuk baris yang salah.function solution(nums) { let best = -Infinity for (let i = 0; i < nums.length; i++) { best = Math.max(best, nums[i] * nums[i + 1]) } return best}Langkah 5 dari 7 · Tebak hasilnya
Apa yang di-return untuk
n = 5?function solution(n) { let count = 0 for (let i = n; i < 3; i++) { count++ } return count}012
Langkah 6 dari 7 · Susun kodenya
Susun function yang me-return jumlah setiap pasangan tetangga.
[1, 2, 3]jadi[3, 5]. Dua baris tidak termasuk.for (let i = 0; i < nums.length; i++) {const out = []for (let i = 1; i < nums.length - 1; i++) {}return outout.push(nums[i] + nums[i + 1])for (let i = 0; i < nums.length - 1; i++) {}function solution(nums) {Langkah 7 dari 7 · Ringkasan
- Index array dari
0sampailength - 1. Loop standarnyai < length. - Kalau membaca
nums[i + 1], berhenti dii < length - 1. - Loop mundur butuh
i >= 0. Loop yang kondisinya salah dari awal tidak jalan sama sekali.
- Index array dari