Fel vid hämtning av objektets element i JavaScript
Låt oss säga att vi har ett objekt:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
Låt oss säga att vi vill hämta ett element från detta objekt med en viss nyckel. Låt namnet på denna nyckel anges av användaren i en input:
console.log(input.value);
Vissa nybörjare gör följande misstag: de itererar över objektet i en loop, jämför nycklarna ett efter ett med input-värdet, så här:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // det sökta värdet
break;
}
}
Men i denna uppgift är loopen helt onödig. Vi kan ju helt enkelt få vårt värde via nyckeln, så här:
let elem = obj[input.value];
Vid behov kan du lägga till en kontroll för att se om en sådan nyckel finns i objektet:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('det finns ingen sådan nyckel i objektet');
}