Грешка при добивање на елемент од објект во JavaScript
Нека имаме одреден објект:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Нека сакаме да добиеме од овој објект елемент по одреден клуч. Нека името на овој клуч се внесува од корисникот во input:
console.log(input.value);
Некои почетни програмери прават следнава грешка: го пребаруваат објектот во циклус, споредувајќи ги клучевите еден по еден со вредноста од input, вака:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // бараната вредност
break;
}
}
Меѓутоа, во оваа задача циклусот е сосема непотребен. Бидејќи можеме едноставно да ја добиеме нашата вредност по клуч, вака:
let elem = obj[input.value];
Доколку е потребно, може да се додаде проверка за постоење на таков клуч во објектот:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('нема таков клуч во објектот');
}