Хатои гирифтани элемент аз объект дар 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('чунин калид дар объект вуҷуд надорад');
}