ЈаваСцрипт за ... петље

У овом упутству ћете научити о ЈаваСцрипт-у за … оф лооп помоћу примера.

У ЈаваСцрипт-у постоје три начина на које можемо користити forпетљу.

  • ЈаваСцрипт за петљу
  • ЈаваСцрипт за … у петљи
  • ЈаваСцрипт за … петље

for… ofПетља је уведен у каснијим верзијама ЈаваСцрипт ЕС6 .

for… ofПетља у ЈаваСцрипт вам омогућава да поновити више од итерабле објеката (низови, сетови, мапе, жице итд).

ЈаваСцрипт за … петље

Синтакса for… ofпетље је:

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

Ево,

  • итерабле - итерабле објект (низ, скуп, низови итд.).
  • елемент - ставке у итерабле-у

На једноставном енглеском језику, можете прочитати горњи код као: за сваки елемент у итерабилном програму покрените тело петље.

за … од са Арраис

for… ofПетља се може користити за поновити преко низ. На пример,

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

Оутпут

 Јохн Сара Јацк

У горњем програму, for… ofпетља се користи за прелазак преко објекта низа ученика и приказ свих његових вредности.

за … од са жицама

Можете користити for… ofпетљу за прелазак преко вредности низа. На пример,

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

Оутпут

 код

за … од са Сетовима

Помоћу for… ofпетље можете да прелиставате елементе Сет . На пример,

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

Оутпут

 1 2 3

за… од са Мапама

Помоћу for… ofпетље можете да прелиставате елементе мапе . На пример,

 // 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); )

Оутпут

 име- Јацк старости- 27

Кориснички дефинисани итератори

Итератор можете креирати ручно и користити for… ofпетљу за итерацију кроз итераторе. На пример,

 // 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); )

Оутпут

 1 2 3

за … од са генераторима

Пошто су генератори итерабилни, итератор можете имплементирати на лакши начин. Тада можете да прелазите кроз генераторе помоћу for… ofпетље. На пример,

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

Оутпут

 10 20 30

за … од Вс за … у

за… од за … у
for… ofПетља се користи за поновити кроз вредности једног итерабле. for… inПетља се користи за поновити кроз кључеве од објекта.
for… ofПетља не може да се користи за поновити преко објекат. Можете користити for… inза итерацију преко итерабилних таквих низова и низова, али треба избегавати употребу for… inза итерабле.

for… ofПетља је уведен у ЕС6 . Неки прегледачи можда не подржавају његову употребу. Да бисте сазнали више, посетите ЈаваСцрипт за … подршку.

Занимљиви Чланци...