Грешка приликом добијања елемента објекта у JavaScript-у
Нека имамо одређени објекат:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Хајде да желимо да добијемо из овог објекта елемент по неком кључу. Нека се име тог кључа уноси од стране корисника у инпут:
console.log(input.value);
Неки почетници у програмирању чине следећу грешку: обилазе објекат у петљи, упоређујући кључеве један по један са вредношћу инпута, овако:
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('нема таквог кључа у објекту');
}