JavaScriptda obyekt elementini olish xatosi
Faraz qilaylik, bizda quyidagi obyekt mavjud:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Faraz qilaylik, biz ushbu obyektdan ma'lum bir kalit bo'yicha elementni olishni xohlaymiz. Faraz qilaylik, ushbu kalitning nomi foydalanuvchi tomonidan inputga kiritiladi:
console.log(input.value);
Ba'zi yangi boshlanuvchi dasturchilar quyidagi xatoni qilishadi: ular obyektni tsiklda aylantirishadi, kalitlarni navbatma-navbat input qiymati bilan solishtirishadi, mana shu:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // izlanayotgan qiymat
break;
}
}
Biroq, ushbu vazifada tsikl mutlaqo keraksiz. Axir, biz shunchaki olamiz bizning qiymatimiz kalit bo'yicha, mana shu:
let elem = obj[input.value];
Agar kerak bo'lsa, obyektda bunday kalitning mavjudligini tekshirishni qo'shishingiz mumkin:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('obyektda bunday kalit yo\'q');
}