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.