Как прописать два цикла в js
Цикл, который находится внутри другого цикла, называется вложенным циклом. Работают они следующим образом: на каждой итерации первого цикла (внешнего) управление передается вложенному циклу, который отрабатывает полностью, после чего осуществляется переход к следующей итерации внешнего цикла и так далее до окончания работы внешнего цикла.
Вложенные циклы используются, например, для работы с вложенными массивами, когда нам внутри одного массива нужно создать несколько других. Предположим, мы хотим получить квадратную матрицу размером 3х3, заполненную числами от 1 до 9:
// создаем будущую матрицу
const matrix = [];
// задаем переменную, которой будем заполнять матрицу
let num = 1;
// инициализируем внешней цикл
for (let i = 0; i < 3; i += 1) {
// на каждой итерации внешнего цикла создаем пустой вложенный массив (строку матрицы)
matrix[i] = [];
// инициализируем вложенный цикл, на каждом шаге которого заполняем числами строку матрицы
for (let j = 0; j < 3; j += 1) {
matrix[i].push(num);
// увеличиваем значение переменной
num += 1;
}
}
console.log(matrix); // => [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
В JS можно использовать два цикла и вкладывать их друг в друга. При каждой итерации внешнего цикла, внутренний будет выполняться полностью.
for (let i = 1; i <= 3; i += 1) {
for (let j = 1; j <= 3; j += 1) {
console.log(i);
}
}
// => 111222333