Вложенные циклы
Внутри цикла может быть другой цикл. Это называется вложенным циклом. В каждой итерации внешнего цикла внутренний проходит полностью от начала до конца. Выведем все футболки, которые продаёт магазин, во всех размерах и всех цветах:
const sizes = ["S", "M"];
const colors = ["красный", "синий", "чёрный"];
for (const size of sizes) {
for (const color of colors) {
console.log(size, color);
}
}S красный
S синий
S чёрный
M красный
M синий
M чёрныйВнешний цикл берёт "S", а внутренний проходит по всем трём цветам. Только после этого внешний цикл берёт "M", и внутренний снова проходит по всем цветам. Внутренний блок выполняется 2 × 3 = 6 раз. Давайте переменным двух циклов разные имена (здесь size и color), чтобы было ясно, какая из них какая.
Вложенные циклы нужны и для прохода по вложенным массивам. Внешний цикл берёт по одному внутреннему массиву, а внутренний проходит по его элементам:
const groups = [["Анна", "Тимур"], ["Ева", "Пётр", "Яна"]];
for (const group of groups) {
console.log("Группа:", group);
for (const name of group) {
console.log("Привет,", name);
}
}Группа: ["Анна", "Тимур"]
Привет, Анна
Привет, Тимур
Группа: ["Ева", "Пётр", "Яна"]
Привет, Ева
Привет, Пётр
Привет, ЯнаЗадание
- 1
Турагентство предлагает поездку в каждый город из
citiesс каждым занятием изactivities. Напишите цикл поcitiesи вложенный в него цикл поactivitiesи выведите каждую пару черезconsole.log(city, activity);. Вывод начинается так:Москва Теннис,Москва Шопинг,Москва Экскурсия,Казань Теннис… - 2
Посчитайте поездки: перед циклами создайте переменную
countсо значением0, увеличивайте её на единицу во внутреннем цикле, а после обоих циклов выведитеconsole.log("Всего поездок:", count);. Вывод:Всего поездок: 12.