JavaScriptда объект элементини олишда хатолик
Фароз қилайлик, бизда қандайдир объект бор:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Фароз қилайлик, биз бу объектдан бирор калит бўйича элементни олмоқчимиз. Бу калитнинг номи фойдаланувчи томонинан инпутга киритилади:
console.log(input.value);
Бaъзи бошланувч дастурчилар куйидаги хатоликни қиладилар: улар объектни циклда айлантириб, навбатма-навбат калитларни инпутнинг қиймати билан солиштирадилар, мана бу йўл билан:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // искомое значение
break;
}
}
Аммо, бу вазифада цикл мутаммo орттирма. Axir биз жуда оддий равишда калит бўйича қийматимизни олишимиз мумкин, мана бу йўл билан:
let elem = obj[input.value];
Агар зарур бўлса, объектда бундай калитнинг мавжудлигини текширишни қўшишингиз мумкин:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('объектда бундай калит йўқ');
}