JavaScript for ... av Loop

I denne opplæringen lærer du om JavaScript for … av loop ved hjelp av eksempler.

I JavaScript er det tre måter vi kan bruke en forløkke på.

  • JavaScript for loop
  • JavaScript for … i løkke
  • JavaScript for … of loop

Den for… ofsløyfen ble introdusert i senere versjoner av Javascript ES6 .

Den for… ofsløyfe i Javascript lar deg iterere over iterable objekter (arrays, sett, kart, strenger osv).

JavaScript for … of loop

Syntaksen til for… ofsløyfen er:

 for (element of iterable) ( // body of for… of )

Her,

  • iterable - et iterabelt objekt (array, sett, strenger, etc).
  • element - elementer i iterabelen

På vanlig engelsk kan du lese koden ovenfor som: for hvert element i iterabelen, kjør løkken.

for … av med Arrays

Den for… ofsløyfe kan brukes for å iterere over en matrise. For eksempel,

 // array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )

Produksjon

 John Sara Jack

I det ovennevnte programmet brukes for… ofsløyfen til å gjenta over studentens array-objekt og vise alle verdiene.

for … av med strenger

Du kan bruke for… ofloop til å gjenta over strengverdier. For eksempel,

 // string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )

Produksjon

 kode

for … av med sett

Du kan gjenta gjennom Set-elementer ved hjelp av for… ofloop. For eksempel,

 // define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )

Produksjon

 1 2 3

for … av med Maps

Du kan gjenta gjennom kartelementer ved hjelp av for… ofløkken. For eksempel,

 // define Map let map = new Map(); // inserting elements map.set('name', 'Jack'); map.set('age', '27'); // looping through Map for (let (key, value) of map) ( console.log(key + '- ' + value); )

Produksjon

 navn- Jack alder- 27

Brukerdefinerte Iteratorer

Du kan opprette en iterator manuelt og bruke for… ofløkken til å iterere gjennom iteratorene. For eksempel,

 // creating iterable object const iterableObj = ( // iterator method (Symbol.iterator)() ( let step = 0; return ( next() ( step++; if (step === 1) ( return ( value: '1', done: false); ) else if (step === 2) ( return ( value: '2', done: false); ) else if (step === 3) ( return ( value: '3', done: false); ) return ( value: '', done: true ); ) ) ) ) // iterating using for… of for (const i of iterableObj) ( console.log(i); )

Produksjon

 1 2 3

for … av med generatorer

Siden generatorer er iterables, kan du implementere en iterator på en enklere måte. Deretter kan du gjenta gjennom generatorene ved hjelp av for… ofløkken. For eksempel,

 // generator function function* generatorFunc() ( yield 10; yield 20; yield 30; ) const obj = generatorFunc(); // iteration through generator for (let value of obj) ( console.log(value); )

Produksjon

 10 20 30

for … av Vs for … i

for … av for i
Den for… ofkoplingssløyfe anvendes til å iterere gjennom verdiene for et iterable. Den for… inkoplingssløyfe anvendes til å iterere gjennom nøklene til et objekt.
Den for… ofsløyfe kan ikke brukes til å iterere over et objekt. Du kan bruke for… intil å itere over en iterabel slike matriser og strenger, men du bør unngå å bruke for… infor iterables.

Den for… ofløkke ble innført i ES6 . Noen nettlesere støtter kanskje ikke bruken av den. For å lære mer, besøk JavaScript for … av Support.

Interessante artikler...