8 of 17 menu

Virhe objektin elementin hakemisessa JavaScriptissä

Oletetaan, että meillä on jokin objekti:

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

Oletetaan, että haluamme saada tästä objektista elementin tietyllä avaimella. Oletetaan, että tämän avaimen nimi syötetään käyttäjältä input-kenttään:

console.log(input.value);

Jotkut aloittelevat ohjelmoijat tekevät seuraavan virheen: he käyvät objektin läpi silmukassa, vertaillen peräkkäin avaimia inputin arvoon, näin:

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

Kuitenkin tässä tehtävässä silmukka on täysin tarpeeton. Voimmehan me yksinkertaisesti saada arvomme avaimen perusteella, näin:

let elem = obj[input.value];

Tarvittaessa voidaan lisätä tarkistus, onko objektissa sellaista avainta:

if (obj[input.value] !== undefined) { let elem = obj[input.value]; console.log(elem); } else { console.log('ei sellaista avainta objektissa'); }
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää