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('объекте мұндай кілт жоқ');
}