У цьому посібнику ви дізнаєтесь про JavaScript для… циклу за допомогою прикладів.
У JavaScript існує три способи використання for
циклу.
- JavaScript для циклу
- JavaScript для… у циклі
- JavaScript для… циклу
for… of
Петля була введена в більш пізніх версіях JavaScript ES6 .
for… of
Цикл в JavaScript дозволяє перебирати ітерацію об'єктів (масиви, набори, карти, рядки і т.д.).
JavaScript для… циклу
Синтаксис for… of
циклу:
for (element of iterable) ( // body of for… of )
Ось,
- iterable - ітерабельний об'єкт (масив, набір, рядки тощо).
- елемент - елементи в ітерабельному
На простому англійській мові ви можете прочитати наведений вище код так: для кожного елемента в ітерації запустіть тіло циклу.
за… з із масивами
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); )
Вихідні дані
код
за… з наборами
Ви можете перебирати елементи Set за допомогою 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
на… з Картами
Ви можете перебирати елементи Map за допомогою 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
за… проти V… за
протягом… з | для … в |
---|---|
for… of Цикл використовується для перебору значень ітератора. | for… in Цикл використовується для перебору ключів об'єкта. |
for… of Цикл не може бути використаний для перебору об'єкта. | Ви можете використовувати for… in для ітерації над ітерабельними такі масиви та рядки, але вам слід уникати використання for… in для ітерацій. |
for… of
Цикл був введений в ES6 . Деякі браузери можуть не підтримувати його використання. Щоб дізнатись більше, відвідайте JavaScript для… підтримки.