← Назад к вопросам

Как работают циклы в JavaScript?

1.0 Junior🔥 231 комментариев
#JavaScript Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI3 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Циклы в JavaScript

Циклы позволяют повторно выполнять блок кода. Существует несколько типов циклов, каждый имеет свою область применения и особенности.

Цикл for

Классический цикл с инициализацией, условием и инкрементом:

// Базовый синтаксис
for (let i = 0; i < 5; i++) {
  console.log('Итерация:', i);
}

// С динамическим массивом
const numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
  console.log('Элемент:', numbers[i]);
}

// Управление циклом
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
  if (arr[i] === 3) {
    break; // Выход из цикла
  }
  if (arr[i] === 1) {
    continue; // Пропуск итерации
  }
  console.log(arr[i]);
}

Цикл while

Выполняется пока условие истинно:

// Базовый синтаксис
let count = 0;
while (count < 5) {
  console.log('Count:', count);
  count++;
}

// do...while выполняется минимум один раз
let x = 0;
do {
  console.log('X:', x);
  x++;
} while (x < 3);

Цикл for...in

Итерирует по ключам объекта:

const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

for (const key in person) {
  console.log(key, ':', person[key]);
}

// Для массивов (менее рекомендуется)
const arr = ['a', 'b', 'c'];
for (const index in arr) {
  console.log(index, ':', arr[index]);
}

Цикл for...of

Итерирует по значениям (более удобен для массивов):

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

for (const num of numbers) {
  console.log('Число:', num);
}

// Работает со строками
const str = 'hello';
for (const char of str) {
  console.log(char);
}

// С деструктуризацией
const pairs = [[1, 2], [3, 4]];
for (const [a, b] of pairs) {
  console.log('a:', a, 'b:', b);
}

Методы массивов (функциональный подход)

Современный способ работы с массивами:

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

// forEach - выполняет функцию для каждого элемента
numbers.forEach((num, index) => {
  console.log('Index:', index, 'Value:', num);
});

// map - преобразует массив
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

// filter - фильтрует элементы
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4]

// reduce - агрегирует значения
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15

// find - находит первый элемент
const found = numbers.find(num => num > 3);
console.log(found); // 4

// some - проверяет условие для хотя бы одного
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true

// every - проверяет условие для всех
const allPositive = numbers.every(num => num > 0);
console.log(allPositive); // true
Как работают циклы в JavaScript? | PrepBro