Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Цикл for
Операторы циклов позволяют выполнить одни и те же инструкции многократно. Предположим, нужно вывести все числа от 1
до 100
по одному на строке. Обычным способом пришлось бы писать 100
строк кода:
console.log('1');
console.log('2');
// ...
console.log('100');
При помощи циклов то же действие можно выполнить одной строкой кода:
for (let i = 1; i < 101; i++) console.log(`${i}`);
Цикл for
используется для выполнения инструкций определенное число раз. Цикл имеет следующий формат:
for (<Начальное значение>; <Условие>; <Приращение>) {
<Инструкции>
}
Параметры имеют следующие значения:
<Начальное значение>
— присваивает переменной-счетчику начальное значение;<Условие>
— содержит логическое выражение. Пока логическое выражение возвращает значениеtrue
, выполняются инструкции внутри цикла. Обратите внимание, логическое выражение вычисляется на каждой итерации цикла;<Приращение>
— задает изменение переменной-счетчика при каждой итерации.
Последовательность работы цикла for
:
- Переменной-счетчику присваивается начальное значение.
- Проверяется условие; если оно истинно, выполняются инструкции внутри цикла, в противном случае выполнение цикла завершается.
- Переменная-счетчик изменяется на величину, указанную в
<Приращение>
. - Переход к п. 2.
Переменная-счетчик может быть объявлена как вне цикла for
, так и в параметре <Начальное значение>
. Если переменная объявлена в параметре с помощью ключевого слова let
, то она будет видна только внутри цикла. Кроме того, допускается объявить переменную вне цикла и сразу присвоить ей начальное значение. В этом случае параметр <Начальное значение>
можно оставить пустым. Пример:
let i; // Объявление вне цикла
for (i = 1; i <= 20; i++) {
console.log(i);
}
// Переменная i видна вне цикла
console.log(i); // 21
// Объявление внутри цикла
for (let j = 1; j <= 20; j++) {
console.log(j);
}
// Переменная j НЕ видна вне цикла
console.log(typeof j); // undefined
let k = 1; // Инициализация вне цикла
for ( ; k <= 20; k++) {
console.log(k);
}
Если мы объявляем переменную в первом параметре цикла for
с помощью ключевого слова var
, то переменная будет видна и после закрывающей фигурной скобки:
for (var i = 0; i < 5; i++) {
console.log(i);
}
console.log('i =', i); // i = 5
Цикл выполняется до тех пор, пока <Условие>
не вернет false
. Если это не произойдет, то цикл будет бесконечным.
Логическое выражение, указанное в параметре <Условие>
, вычисляется на каждой итерации. Рассмотрим вывод элементов массива:
const process = require('process');
let arr = [ 1, 2, 3 ];
for (let i = 0; i < arr.length; i++) {
if (i == 0) {
arr.push(4); // Добавляем новые элементы
arr.push(5); // для доказательства
}
process.stdout.write(`${arr[i]} `);
} // Выведет: 1 2 3 4 5
В этом примере мы указываем свойство length
в параметре <Условие>
, а внутри цикла (чтобы доказать вычисление на каждой итерации) добавляем новые элементы в массив. В итоге получили все элементы массива, включая новые элементы. Поэтому, если внутри логического выражения производятся какие-либо вычисления и значение не изменяется внутри цикла, то вычисление следует вынести в параметр <Начальное значение>
. В этом случае вычисление указывается после присваивания значения переменной-счетчику через запятую. Пример:
const process = require('process');
let arr = [ 1, 2, 3 ];
for (let i = 0, c = arr.length; i < c; i++) {
if (i == 0) {
arr.push(4); // Добавляем новые элементы
arr.push(5); // для доказательства
}
process.stdout.write(`${arr[i]} `);
} // Выведет: 1 2 3
Выражение, указанное в параметре <Приращение>
, может не только увеличивать значение переменной-счетчика, но и уменьшать его. Кроме того, значение может изменяться на любую величину. Пример:
// Выводим числа от 10 до 1
for (let i = 10; i > 0; i--) {
console.log(i);
}
// Выводим четные числа от 1 до 10
for (let j = 2; j <= 10; j += 2) {
console.log(j);
}
Все параметры цикла for
являются необязательными. Хотя параметры можно не указывать, точки с запятой обязательно должны быть. Если все параметры не указаны, то цикл будет бесконечным. Чтобы выйти из бесконечного цикла следует использовать оператор break
. Пример:
let i = 1; // <Начальное значение>
for ( ; ; ) { // Бесконечный цикл
if (i <= 10) { // <Условие>
console.log(i);
i++; // <Приращение>
}
else {
break; // Выходим из цикла
}
}
Для быстрой вставки цикла for
в редакторе VS Code, предназначена следующая комбинация:
for =>
for (let index = 0; index < array.length; index++) {
const element = array[index];
}
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов