JavaScript for ... i vs for ... av loop

JavaScript for ... i vs for ... av loop

Looping spiller en viktig rolle i å få tilgang til elementene for å hente en viss verdi basert på tilstanden. Dette resultatet utfører en viss operasjon på en bestemt streng eller et objekt praktisk. Dessuten er det også effektivt å iterere langs dataene i bulk og dermed spare tid. I slike tilfeller, "for i”Og“for ... av”Løkker gir gode funksjonaliteter i smart tilgang til data.

Denne bloggen vil forklare forskjellene mellom for ... i og for ... av loop i JavaScript ved hjelp av eksempler.

JavaScript for ... i vs for ... av loop

for i”Loop er nyttig i tilfelle itering gjennom egenskapene til et objekt. Når den er iterert gjennom en streng, returnerer den indeksene som tilsvarer strengverdiene i stedet for strengverdiene.

for ... av”Loop, derimot, er ikke å foretrekke for å iterere gjennom objektegenskaper. Snarere, det løkker gjennom verdiene til et iterable objekt. Imidlertid er det egnet for å iterere langs strengverdiene da den lett får tilgang til dem og returnerer de inneholdte tegnene separat også.

Syntaks

for (variabel i streng)

I den gitte syntaks:

  • variabel”Refererer til de inneholdte tegnene i en streng.
  • streng”Tilsvarer strengverdien som skal itereres på.
for (variabel av iterable)

I syntaks ovenfor:

  • variabel”Peker på verdien av den neste egenskapen som skal tilordnes variabelen ved hver iterasjon.
  • iterable”Indikerer at objektet har iterable egenskaper.

Eksempel 1: iterere for… i og for… av løkker over strengverdien

Dette eksemplet vil forklare atferden til begge de uttalte løkkerne når de iterer dem over den spesifiserte strengverdien.

for ... i loop

La oss følge det undergitte eksemplet på “for i" Løkke:

I ovennevnte kodebit:

  • Tilordne den oppgitte strengverdien som heter “Linuxhint”.
  • Etter det, bruk "for i”Loop for å iterere langs strengtegnene.
  • Ved logging vil resultatet i stedet peke på indeksene som strengtegnene er lagret.

Produksjon

Fra output ovenfor kan det observeres at strengindeksene blir hentet i stedet.

for ... av loop

La oss observere oppførselen til “for ... av”Løkke når du er i ferd med å iterere gjennom den spesifiserte strengverdien nedenfor:

I kodelinjene ovenfor, utfør følgende trinn:

  • På samme måte spesifiser den angitte strengverdien.
  • I neste trinn, bruk "for ... av”Loop for å iterere langs den initialiserte strengverdien.
  • Endelig vil utgangen resultere i å hente tegnene direkte som er inneholdt i en streng og vise dem.

Produksjon

I outputten er det tydelig at strengverdiene returneres.

Eksempel 2: iterere for ... i og for ... av loop over objektet

I dette spesielle eksemplet, itererer du begge løkkene over det opprettede objektet og observerer den resulterende utgangen mot hver av dem.

for ... i loop

La oss observere oppførselen til “for i”Loop ved å iterere det gjennom et objekt.

La oss følge det under-uttalte eksemplet:

I kodelinjene ovenfor:

  • Opprett et objekt som heter “objdata”Med egenskapene som heter (Harry, ID og alder) og de tilsvarende verdiene.
  • I neste trinn, bruk "for i”Loop for å få tilgang til objektets egenskaper så vel som de tilsvarende verdiene.
  • Den første parameteren i “Logg()”Metode tilsvarer objektets egenskap og den andre refererer til den tilsvarende verdien.
  • Som et resultat vil både objektegenskapene og verdiene bli logget på konsollen.

Produksjon

I outputten kan det observeres at objektets egenskaper og de tilsvarende verdiene vises på konsollen.

for ... av loop

La oss sjekke ut iterasjonen av "for ... av”Loop over objektet.

Ta en titt på følgende JavaScript -kode:

I ovennevnte kodebit, utfør følgende trinn:

  • Husk trinnene for å lage et objekt i forrige eksempel.
  • I neste trinn, bruk "for ... av”Loop på samme måte som iterate langs objektegenskapene og de tilsvarende verdiene.
  • Dette vil resultere i å kaste en feil som kan sees i utdataene nedenfor.

Produksjon

Fra output ovenfor kan det observeres at det tilgjengelige objektet ikke er iterable.

Konklusjon

for ... av”Løkke kan brukes til å sløyfe over strengene og“for i”Loop kan være egnet til å sløyfe over objekter i JavaScript. Den tidligere sløyfen får direkte tilgang til tegnene som er i en streng og returnerer dem. Den sistnevnte sløyfen kan brukes til å sløyfe over objekter for å få tilgang til egenskapene og de tilsvarende verdiene praktisk. Denne opplæringen forklarte forskjellene mellom for ... i og for ... av loop.