Ошибка получения элемента объекта в 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('нет такого ключа в объекте');
}