for ... i løkker i JavaScript - nøkkelverdipar

for ... i løkker i JavaScript - nøkkelverdipar

I JavaScript lagrer og organiserer objekter og organiserer data i nøkkelverdipar. Noen ganger trenger utviklerne å sløyfe gjennom hvert nøkkelverdipar. JavaScript gir en rekke løkker, for eksempel “til”Eller“for hver”Løkker, men de er vant til å iterere gjennom matriser. For itering gjennom objekter, “for i”Loop brukes, som itererer over et objekts egenskaper.

Denne bloggen vil illustrere JavaScript for ... i Loop.

Hvordan bruke “For… in” -løkker i JavaScript?

I JavaScript, "for i”Loop brukes til å iterere over objektets egenskaper, inkludert eventuelle opptagede egenskaper til prototypene. Hver eiendom og verdien vil bli iterert over i løkken.

Syntaks

For iteratering av JavaScript -objekter, bruk følgende syntaks av for ... i loop:

for (variabel i objekt)
// ..

Eksempel

Først må du lage et objekt for programmeringsspråk kalt “lang”:

const lang =
HTML: 20,
CSS: 65,
JavaScript: 23,
Nodejs: 8

Nå, skriv ut alle nøkkelverdiparene ved å iterere objektet som bruker for ... i loop:

for (const nøkkel i lang)
konsoll.log ('$ Key: $ lang [nøkkel]');

Det kan sees at for ... i loop med hell iterert og trykket alle nøkkelverdiparene på konsollen:

For ... i loop kan være nyttig for å iterere gjennom egenskapene til et objekt, men det kan også føre til uventet oppførsel hvis objektet har egenskaper arvet fra prototypene. For å unngå dette er den beste tilnærmingen å bruke "Gjenstand.HasownProperty ()”Metode inne i for… i Loop for å sjekke om egenskapen/attributtet tilhører objektet og ikke en av dens prototyper.

Eksempel

Iterer objektets egne egenskaper ved å bruke HasOwnProperty () -metoden:

for (const nøkkel i lang)
hvis (lang.hasownProperty (nøkkel))
konsoll.Log ('$ Key -> $ lang [Key]');

Du kan også bruke “Gjenstand.nøkler ()”Eller“Gjenstand.innganger()”Metoder for å få en rekke objektets egne eiendomsnavn eller henholdsvis nøkkelverdipar, og deretter iterere over den matrisen.

Konklusjon

for i”Loop i JavaScript vil iterere på tvers av alle de enumable attributtene til et objekt, inkludert de som er arvet gjennom prototypekjeden. Hovedproblemet med for ... i loop er at det itererer gjennom prototypekjedens egenskaper. Så for å unngå denne bruken, "Gjenstand.HasownProperty ()”Metode inne i for… i loop. I denne bloggen illustrerte vi bruken av for ... i Loop i JavaScript.