Комментарии (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