Skip to main content

Циклы и итерации

Циклы - это способ повторения одного и того же кода несколько раз. Существует множество различных видов циклов, но все они по сути делают тоже самое: повторяют какое-либо действие несколько раз. Различные по строению циклы предлагают разные способы для определения начала и окончания цикла. Для различных задач программирования существуют свои операторы цикла, с помощью которых они решаются намного проще.

Операторы предназначенные для организации циклов в JavaScript:

  • Цикл_while
  • Цикл_do...while
  • Цикл_for
  • for...in
  • for...of
  • break
  • continue

Цикл while

Цикл while повторяет блок кода, пока указанное условие истинно. Синтаксис цикла while:

while (условие) {
// код
}

Пример:

let i = 0;

while (i < 5) {
console.log(i);
i++;
}

В этом примере переменная i инициализируется с 0. Цикл продолжается, пока i меньше 5. После каждой итерации i увеличивается на 1.

Цикл do...while

Цикл do...while похож на цикл while, но с одним отличием: он всегда выполняет блок кода хотя бы один раз, даже если условие ложно. Синтаксис цикла do...while:

do {
// код
} while (условие);

Пример:

let i = 0;

do {
console.log(i);
i++;
} while (i < 5);

В этом примере переменная i инициализируется с 0. Цикл продолжается, пока i меньше 5. После каждой итерации i увеличивается на 1.

Цикл for

Цикл for - это самый распространенный цикл в JavaScript. Он позволяет выполнять один и тот же код несколько раз. Цикл for состоит из трех частей:

  • Инициализация: Выполняется один раз перед началом цикла. Она обычно используется для инициализации счетчика цикла.
  • Условие: Выполняется перед каждой итерацией цикла. Если условие возвращает true, цикл продолжается. Если false, цикл завершается.
  • Выражение после выполнения: Выполняется после каждой итерации цикла. Обычно используется для увеличения или уменьшения счетчика цикла.

синтаксис:

for (инициализация; условие; выражение после выполнения) {
// код
}

Пример:

for (let i = 0; i < 5; i++) {
console.log(i);
}

В этом примере переменная i инициализируется с 0. Цикл продолжается, пока i меньше 5. После каждой итерации i увеличивается на 1.

Цикл for...in

Цикл for...in используется для перебора свойств объекта. Синтаксис цикла for...in:

for (переменная in объект) {
// код
}

Пример:

let person = {
name: "John",
age: 30,
city: "New York",
};

for (const key in person) {
console.log(key + "->" + person[key]);
}

В этом примере переменная key содержит имя свойства объекта person. В теле цикла выводится имя свойства и его значение.

name->John
age->30
city->New York

Цикл for...of

Оператор for...of создаёт цикл, проходящий по перечислимым объектам (itarable objects), включая: Array, Map, Set, String, TypedArray, arguments и другие. Синтаксис цикла for...of:

for (переменная of объект) {
// код
}

Пример:

const numbers = [1, 2, 3, 4, 5];

for (const number of numbers) {
console.log(number);
}

В этом примере переменная number содержит значение элемента массива numbers. В теле цикла выводится значение элемента массива.

разница между for...in и for...of

  • for...in перебирает свойства объекта.
  • for...of перебирает значения объекта.
const names = ["Alex", "Bob", "Carl", "David"];

for (const name in names) {
console.log(name); // 0, 1, 2, 3
}

for (const name of names) {
console.log(name); // Alex, Bob, Carl, David
}

Оператор break

Оператор break используется для выхода из цикла. Он позволяет прервать выполнение цикла досрочно. Синтаксис оператора break:

for (let i = 0; i < 5; i++) {
if (i === 3) {
break;
}
console.log(i);
}

console.log("Цикл завершен");

В этом примере цикл for прерывается, когда i равно 3.

Вывод:

0
1
2
Цикл завершен

Оператор continue

Оператор continue используется для пропуска текущей итерации цикла и перехода к следующей. Синтаксис оператора continue:

for (let i = 0; i < 5; i++) {
if (i === 3) {
continue;
}
console.log(i);
}

console.log("Цикл завершен");

В этом примере цикл for пропускает итерацию, когда i равно 3.

Вывод:

0
1
2
4
Цикл завершен