Loop: for...in
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah halaman ini, kamu dapat menggunakan for...in untuk membaca nama properti dari sebuah object satu per satu.
Pendahuluan
Section titled “Pendahuluan”for...in dirancang untuk mengunjungi setiap nama properti (key) dalam sebuah object. Berbeda dengan for...of yang fokus pada nilai, for...in fokus pada nama kuncinya.
Analogi Kehidupan Sehari-hari
Section titled “Analogi Kehidupan Sehari-hari”Label Laci Lemari
Section titled “Label Laci Lemari”Bayangkan lemari arsip dengan laci berlabel: “Matematika”, “Indonesia”, “Inggris”. Kamu membuka setiap laci dan membaca labelnya satu per satu.
Untuk setiap laci dalam lemari: Baca nama label Tampilkan isiSelesaifor...in membaca nama label (key). Kita bisa gunakan nama itu untuk mengambil nilai (isi laci).
Penjelasan Materi
Section titled “Penjelasan Materi”Bentuk dasar:
for (const kunci in object) { // kunci adalah nama properti // object[kunci] adalah nilainya}Mari Mencoba
Section titled “Mari Mencoba”Buat src/bab3/for-in.ts:
const nilaiSiswa = { matematika: 88, indonesia: 92, inggris: 78, pemrograman: 95,}
console.log("=== Nilai Per Mata Pelajaran ===")for (const mapel in nilaiSiswa) { const nilai = nilaiSiswa[mapel as keyof typeof nilaiSiswa] console.log(`${mapel}: ${nilai}`)}Jalankan:
tsx src/bab3/for-in.tsOutput
Section titled “Output”=== Nilai Per Mata Pelajaran ===matematika: 88indonesia: 92inggris: 78pemrograman: 95Penjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”const nilaiSiswa = {...}— object dengan properti nama mata pelajaran.for (const mapel in nilaiSiswa)— setiap putaran,mapelmendapat nama properti (string).nilaiSiswa[mapel as keyof typeof nilaiSiswa]— cara TypeScript yang aman untuk mengakses nilai menggunakan key dinamis.as keyof typeof nilaiSiswa— memberitahu TypeScript bahwamapeladalah salah satu key yang valid.
for…in vs for…of
Section titled “for…in vs for…of”for...in |
for...of |
|
|---|---|---|
| Bekerja pada | Object | Array, string |
| Menghasilkan | Nama properti (key) | Nilai elemen |
| Contoh hasil | "matematika" |
88 |
Kesalahan yang Sering Terjadi
Section titled “Kesalahan yang Sering Terjadi”const angka: number[] = [10, 20, 30]
for (const i in angka) { console.log(i) // "0", "1", "2" — indeks sebagai string! console.log(angka[i]) // nilai}for...in pada array menghasilkan indeks sebagai string, bukan nilai. Untuk array, lebih baik gunakan for...of atau for biasa.
Latihan
Section titled “Latihan”Buat object berisi data siswa: nama, kelas, dan jurusan. Gunakan for...in untuk menampilkan setiap informasi beserta labelnya.
Ringkasan
Section titled “Ringkasan”for...inmengiterasi nama properti (key) dari sebuah object.- Gunakan
object[key]untuk mengambil nilainya. - Jangan gunakan
for...inuntuk array — gunakanfor...ofataufor.