Greška pri dobijanju elementa objekta u JavaScript-u
Neka postoji neki objekat:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Recimo da želimo da dobijemo iz ovog objekta element prema određenom ključu. Neka ime tog ključa korisnik unosi u input polje:
console.log(input.value);
Neki početnici u programiranju čine sledeću grešku: pretražuju objekat u petlji, poredeći redom ključeve sa vrednošću input polja, ovako:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // tražena vrednost
break;
}
}
Međutim, u ovom zadatku petlja je potpuno suvišna. Uostalom, možemo jednostavno dobiti našu vrednost prema ključu, ovako:
let elem = obj[input.value];
Po potrebi možete dodati proveru postojanja takvog ključa u objektu:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('nema takvog ključa u objektu');
}