Kļūda, iegūstot objekta elementu JavaScript
Pieņemsim, ka mums ir kāds objekts:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Pieņemsim, ka mēs vēlamies no šī objekta iegūt elementu pēc kāda atslēgas. Pieņemsim, ka šīs atslēgas nosaukums tiek ievadīts lietotāja ievades laukā:
console.log(input.value);
Daži iesācēju programmētāji pieļauj šādu kļūdu: viņi izmanto ciklu, lai izietu cauri objektam, salīdzinot atslēgas pēc kārtas ar ievades lauka vērtību, šādi:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // meklējamā vērtība
break;
}
}
Tomēr šajā uzdevumā cikls ir pilnīgi lieks. Galu galā mēs varam vienkārši iegūt savu vērtību pēc atslēgas, šādi:
let elem = obj[input.value];
Ja nepieciešams, varat pievienot pārbaudi, vai šāda atslēga eksistē objektā:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('nav tādas atslēgas objektā');
}