Ralat Mendapatkan Elemen Objek dalam JavaScript
Katakan kita mempunyai suatu objek:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Katakan kita ingin mendapatkan elemen daripada objek ini mengikut kunci tertentu. Katakan nama kunci ini dimasukkan oleh pengguna ke dalam input:
console.log(input.value);
Sesetengah pengaturcara pemula melakukan ralat berikut: mereka mengulangi objek dalam gelung, membandingkan kunci satu persatu dengan nilai input, seperti ini:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // nilai yang dicari
break;
}
}
Walau bagaimanapun, dalam tugas ini gelung sama sekali tidak diperlukan. Kerana kita hanya boleh mendapatkan nilai kita mengikut kunci, seperti ini:
let elem = obj[input.value];
Sekiranya perlu, kita boleh menambah semak kehadiran kunci sedemikian dalam objek:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('tiada kunci sedemikian dalam objek');
}