V tomto výučbe sa pomocou príkladov dozviete o JavaScripte pre… slučky.
V JavaScripte existujú tri spôsoby, ako môžeme použiť for
slučku.
- JavaScript pre slučku
- JavaScript pre … v slučke
- JavaScript pre … slučky
for… of
Slučka bola zavedená v novších verziách JavaScript ES6 .
for… of
Slučka v JavaScripte umožňuje iterácii cez iterable objektov (pole, sady, mapy, sláčiky a pod).
JavaScript pre … slučky
Syntax for… of
slučky je:
for (element of iterable) ( // body of for… of )
Tu,
- iterovateľný - iterovateľný objekt (pole, množina, reťazce atď.).
- prvok - položky v iterovateľnej položke
V jednoduchej angličtine môžete vyššie uvedený kód prečítať ako: pre každý prvok v iterácii spustite telo cyklu.
na … z s poliami
for… of
Slučka môže byť použitý pre iteráciu cez pole. Napríklad,
// array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )
Výkon
John Sara Jack
Vo vyššie uvedenom programe sa for… of
slučka používa na iteráciu nad objektom poľa študentov a na zobrazenie všetkých jeho hodnôt.
pre … zo strún
Na for… of
opakovanie hodnôt reťazca môžete použiť slučku. Napríklad,
// string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )
Výkon
kód
pre … zo súprav
Pomocou for… of
slučky môžete iterovať cez prvky množiny . Napríklad,
// define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )
Výkon
1 2 3
pre … z s Mapami
Pomocou for… of
slučky môžete iterovať cez prvky mapy . Napríklad,
// 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ýkon
meno- Jack vek- 27
Užívateľom definované iterátory
Iterátor môžete vytvoriť manuálne a pomocou for… of
slučky môžete iterovať iterátormi. Napríklad,
// 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ýkon
1 2 3
pre … z s generátormi
Pretože generátory sú iterovateľné, môžete implementovať iterátor jednoduchším spôsobom. Potom môžete iterovať cez generátory pomocou for… of
slučky. Napríklad,
// 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ýkon
10 20 30
za … z Vs za … v
pre … z | pre … v |
---|---|
for… of Slučka sa používa na iterovat hodnoty po dosiahnutí iterable. | for… in Slučka sa používa iterovat kľúča objektu. |
for… of Slučka nemožno použiť pre iteráciu cez objekt. | Môžete použiť for… in na iteráciu iterovateľného poľa a reťazcov, ale mali by ste sa vyhnúť použitiu for… in pre iterovateľné súbory. |
for… of
Slučka bol predstavený v ES6 . Niektoré prehliadače nemusia podporovať jeho použitie. Ak sa chcete dozvedieť viac, navštívte JavaScript pre … podpory.