Fehler beim Abrufen eines Objektelements in JavaScript
Nehmen wir an, wir haben ein bestimmtes Objekt:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Nehmen wir an, wir möchten aus diesem Objekt ein Element über einen bestimmten Schlüssel abrufen. Nehmen wir an, der Name dieses Schlüssels wird vom Benutzer in ein Input-Feld eingegeben:
console.log(input.value);
Einige Programmieranfänger machen den folgenden Fehler: Sie durchlaufen das Objekt in einer Schleife, vergleichen nacheinander die Schlüssel mit dem Wert des Input-Felds, etwa so:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // der gesuchte Wert
break;
}
}
In dieser Aufgabe ist die Schleife jedoch völlig überflüssig. Denn wir können unseren Wert einfach über den Schlüssel abrufen, etwa so:
let elem = obj[input.value];
Bei Bedarf kann eine Überprüfung hinzugefügt werden, ob ein solcher Schlüssel im Objekt vorhanden ist:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('Kein solcher Schlüssel im Objekt');
}