Pelajaran 2.4
Kenapa tes gagal
7 menit · 8 langkah
Langkah 1 dari 8 · Penjelasan
Tes tidak membaca layar. Tes memanggil function kamu, mengambil nilai yang di-return, lalu membandingkannya dengan nilai yang diharapkan.
Misalnya
solution(2, 3)menghitungconst sum = a + b, lalu memanggilconsole.log(sum). Layar menampilkan5, tapi function tidak me-return apa-apa. Bagi tes, hasilnyaundefined.Langkah 2 dari 8 · Pilih pendekatan
Tes mengharapkan
6. Function kamu mencetak6di console, dan tes tetap gagal. Kenapa?- Function-nya tidak me-return apa-apa, jadi hasilnya
undefined - Console mencetak
6sebagai string console.logterlalu lambat untuk tes- Tes butuh
console.logdipanggil dua kali
- Function-nya tidak me-return apa-apa, jadi hasilnya
Langkah 3 dari 8 · Tebak hasilnya
Soal "Return jumlah digit di string
s." Apa yang di-return untuk"123"?function solution(s) { let total = 0 for (const ch of s) { total += ch } return total}"0123"6"6"123
Langkah 4 dari 8 · Pilih pendekatan
Tes mengharapkan
3. Function kamu me-return"3". Apakah lolos?- Tidak. Tes membandingkan tipe juga, dan angka bukan string
- Ya, karena di layar terlihat sama
- Ya, karena JavaScript mengubahnya otomatis dengan
==
Langkah 5 dari 8 · Tebak hasilnya
Apa yang di-return untuk
[3, 1, 2]?function solution(nums) { const sorted = nums sorted.sort((a, b) => a - b) return [nums[0], sorted[0]]}[1, 1][3, 1][3, 3]
Langkah 6 dari 8 · Cari bug-nya
Soal "Return array baru berisi setiap angka dikali 2. Jangan ubah
nums." Tes mengeceknumssetelah dipanggil, dan gagal. Ketuk baris penyebabnya.function solution(nums) { const result = nums for (let i = 0; i < result.length; i++) { result[i] = result[i] * 2 } return result}Langkah 7 dari 8 · Tulis kodenya
solution(s)Return jumlah semua digit di string
s, sebagai angka.
Constraint:0 ≤ s.length ≤ 100,shanya berisi0sampai9.function solution(s) { // "123" -> 6 }Langkah 8 dari 8 · Ringkasan
- Tes hanya melihat nilai yang di-return.
console.logtidak dihitung. 3dan"3"berbeda. Angka + string menjadi string.const b = atidak menyalin array. Salin dengan[...a]sebelum mengubah.
- Tes hanya melihat nilai yang di-return.