JavaScript pre ... slučky

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ť forslučku.

  • JavaScript pre slučku
  • JavaScript pre … v slučke
  • JavaScript pre … slučky

for… ofSlučka bola zavedená v novších verziách JavaScript ES6 .

for… ofSlučka v JavaScripte umožňuje iterácii cez iterable objektov (pole, sady, mapy, sláčiky a pod).

JavaScript pre … slučky

Syntax for… ofsluč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… ofSluč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… ofsluč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… ofopakovanie 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… ofsluč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… ofsluč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… ofsluč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… ofsluč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… ofSlučka sa používa na iterovat hodnoty po dosiahnutí iterable. for… inSlučka sa používa iterovat kľúča objektu.
for… ofSlučka nemožno použiť pre iteráciu cez objekt. Môžete použiť for… inna iteráciu iterovateľného poľa a reťazcov, ale mali by ste sa vyhnúť použitiu for… inpre iterovateľné súbory.

for… ofSlučka bol predstavený v ES6 . Niektoré prehliadače nemusia podporovať jeho použitie. Ak sa chcete dozvedieť viac, navštívte JavaScript pre … podpory.

Zaujímavé články...