Назад к вопросам
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) |
| Применимость | Общий цикл, подходит для любых задач | Для итерируемых объектов |
| Доступ к индексу | Есть | Нет (нужно дополнительно получать) |