V tej vadnici boste s pomočjo primerov spoznali JavaScript za zanko….
V JavaScript obstajajo trije načini, kako lahko uporabimo for
zanko.
- JavaScript za zanko
- JavaScript za … v zanki
- JavaScript za… zanke
for… of
Zanka je bila uvedena v kasnejših različicah JavaScript ES6 .
for… of
Zanka v JavaScript vam omogoča, da ponovitev čez iterable predmetov (nizi, določa, zemljevidi, strune itd).
JavaScript za… zanke
Sintaksa for… of
zanke je:
for (element of iterable) ( // body of for… of )
Tukaj,
- iterable - iterable objekt (matrika, niz, nizi itd.).
- element - elementi v iterable
V preprostem angleškem jeziku lahko zgornjo kodo preberete kot: za vsak element v iteralu zaženite telo zanke.
za … z z Arrays
for… of
Zanka se lahko uporablja za ponovitev čez niz. Na primer
// array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )
Izhod
John Sara Jack
V zgornjem programu se for… of
zanka uporablja za iteracijo nad objektom matrike študentov in prikaz vseh njegovih vrednosti.
za… od z Strings
Z for… of
zanko lahko pregledujete vrednosti nizov. Na primer
// string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )
Izhod
Koda
za … od s kompleti
Z for… of
zanko lahko pregledujete elemente Set . Na primer
// define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )
Izhod
1 2 3
za… z z Zemljevidi
Z for… of
zanko lahko pregledujete elemente zemljevida . Na primer
// 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); )
Izhod
ime - Jack starost - 27
Uporabniško določeni iteratorji
Iterator lahko ustvarite ročno in z for… of
zanko pregledujete iteratorje. Na primer
// 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); )
Izhod
1 2 3
za… od z generatorji
Ker so generatorji ponovljivi, lahko iterator implementirate na lažji način. Nato lahko skozi for… of
zanko pregledujete generatorje . Na primer
// generator function function* generatorFunc() ( yield 10; yield 20; yield 30; ) const obj = generatorFunc(); // iteration through generator for (let value of obj) ( console.log(value); )
Izhod
10 20 30
za … od Vs za … v
za… od | za … v |
---|---|
for… of Zanka se uporablja za ponovitev prek vrednot po doseženem iterable. | for… in Zanka se uporablja za ponovitev prek ključev objekta. |
for… of Zanke ni mogoče uporabiti za ponovitev čez predmet. | for… in Takšne nize in nize lahko uporabite za iteracijo po iterabilnih elementih, vendar se izogibajte uporabi for… in za iterables. |
for… of
Zanka je bila uvedena v ES6 . Nekateri brskalniki morda ne podpirajo njegove uporabe. Če želite izvedeti več, obiščite JavaScript za… podpore.