Selles õpetuses saate näidete abil õppida loopi JavaScripti kohta.
JavaScripti abil on for
tsüklit kasutada kolmel viisil .
- JavaScript silmusele
- JavaScripti jaoks … aasal
- JavaScripti … silmuse jaoks
for… of
Loop võeti kasutusele hiljem versioonid JavaScript ES6 .
for… of
Loop JavaScript lubab sul Käi iterable objektide (massiivid, komplektid, kaardid, keelpillid jne).
JavaScripti … silmuse jaoks
for… of
Silmuse süntaks on:
for (element of iterable) ( // body of for… of )
Siin,
- iterable - korduv objekt (massiiv, komplekt, stringid jne).
- element - itereeritava üksused
Selges inglise keeles saate ülaltoodud koodi lugeda järgmiselt: käivitage iterable'i iga elemendi jaoks silmusekeha.
… jaoks koos massiividega
for… of
Loop saab kasutada itereerime üle massiivi. Näiteks,
// array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )
Väljund
John Sara Jack
Ülaltoodud programmis kasutatakse for… of
tsüklit õpilaste massiivi objekti kordamiseks ja kõigi selle väärtuste kuvamiseks.
… jaoks koos stringidega
for… of
Stringi väärtuste kordamiseks saate kasutada silmust. Näiteks,
// string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )
Väljund
kood
jaoks … koos komplektidega
Tsükli abil saate elementide Määra kaudu korrata for… of
. Näiteks,
// define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )
Väljund
1 2 3
… jaoks koos Mapsiga
for… of
Silmuse abil saate kaardi elementide kaudu itereerida . Näiteks,
// 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); )
Väljund
nimi- Jack vanus- 27
Kasutaja määratletud iteraatorid
Võite iteraatori luua käsitsi ja kasutada for… of
tsüklit iteraatorite kaudu itereerimiseks. Näiteks,
// 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); )
Väljund
1 2 3
… koos generaatoritega
Kuna generaatorid on korduvad, saate iteraatorit hõlpsamalt rakendada. Siis saate for… of
tsükli abil generaatorite kaudu itereerida . Näiteks,
// generator function function* generatorFunc() ( yield 10; yield 20; yield 30; ) const obj = generatorFunc(); // iteration through generator for (let value of obj) ( console.log(value); )
Väljund
10 20 30
for… of Vs for… in
… jaoks | … jaoks |
---|---|
for… of Loop kasutatakse Kerrata läbi väärtuste kohta iterable. | for… in Loop kasutatakse Kerrata läbi võtmed objekti. |
for… of Ei saa ahelat kasutatakse itereerime objekti kohal. | for… in Selliste massiivide ja stringide kordamiseks saate kasutada korduvaid, kuid vältige for… in iterable'i kasutamist. |
for… of
Loop võeti kasutusele ES6 . Mõni brauser ei pruugi selle kasutamist toetada. Lisateabe saamiseks külastage … toe saamiseks JavaScripti.