Napaka pri pridobivanju elementa objekta v JavaScript
Recimo, da imamo nek objekt:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Recimo, da želimo iz tega objekta pridobiti element z določenim ključem. Recimo, da ime tega ključa uporabnik vnese v vnosno polje:
console.log(input.value);
Nekateri začetniki v programiranju naredijo naslednjo napako: preberejo objekt v zanki, in primerjajo ključe enega za drugim z vrednostjo vnosnega polja, takole:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // iskana vrednost
break;
}
}
Vendar je v tej nalogi zanka popolnoma odveč. Navsezadnje lahko preprosto dobimo našo vrednost s ključem, takole:
let elem = obj[input.value];
Po potrebi lahko dodate preverjanje prisotnosti takšnega ključa v objektu:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('ni takega ključa v objektu');
}