Назад к вопросам
Junior
87
questionbank

В чем кардинальная разница между циклами for и foreach?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

for — цикл с счётчиком, позволяющий итерировать по числовому диапазону или индексам массива. foreach (или for...of в JavaScript) предназначен для итерации по элементам итерируемых объектов (массивы, строки, Map, Set) напрямую, без необходимости работы с индексами. Главное отличие — в способе доступа к элементам: for оперирует индексами, foreach — значениями.

For:

// Пример for с массивом
const arr = [1, 2, 3];
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]); // Доступ по индексу
}

Foreach (for...of):

// Пример for...of с массивом
const arr = [1, 2, 3];
for (const item of arr) {
  console.log(item); // Доступ к значению элемента
}

// Пример for...of со строкой
const str = "abc";
for (const char of str) {
  console.log(char); // Доступ к символу
}

Ключевые отличия:

Характеристика for foreach (for...of)
Способ итерации По индексам или числовому диапазону По значениям итерируемого объекта
Доступ к элементам Через индекс (arr[i]) Напрямую (const item of arr)
Возможность пропуска итераций Да (с continue) Да (с continue)
Возможность прерывания Да (с break) Да (с break)
Применимость Общий цикл, подходит для любых задач Для итерируемых объектов
Доступ к индексу Есть Нет (нужно дополнительно получать)