У овом упутству ћете научити о ЈаваСцрипт-у за … оф лооп помоћу примера.
У ЈаваСцрипт-у постоје три начина на које можемо користити 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 . Неки прегледачи можда не подржавају његову употребу. Да бисте сазнали више, посетите ЈаваСцрипт за … подршку.