8 of 17 menu

Chyba při získávání prvku objektu v JavaScriptu

Předpokládejme, že máme nějaký objekt:

let obj = { a: 1, b: 2, c: 3, d: 4, e: 5, };

Předpokládejme, že chceme z tohoto objektu získat prvek podle nějakého klíče. Nechť jméno tohoto klíče zadává uživatel do vstupního pole:

console.log(input.value);

Někteří začínající programátoři dělají následující chybu: procházejí objekt v cyklu, porovnávají postupně klíče s hodnotou vstupního pole, například takto:

for (let key in obj) { if (key === input.value) { let elem = obj[key]; console.log(elem); // hledaná hodnota break; } }

Avšak v této úloze je cyklus naprosto zbytečný. Vždyť můžeme jednoduše získat naši hodnotu podle klíče, například takto:

let elem = obj[input.value];

V případě potřeby lze přidat kontrolu existence takového klíče v objektu:

if (obj[input.value] !== undefined) { let elem = obj[input.value]; console.log(elem); } else { console.log('v objektu není žádný takový klíč'); }
kkuzlrohyes