Vnořené cykly
Cyklus může obsahovat jiný cyklus. Říká se mu pak vnořený cyklus. Při každém průchodu vnějšího cyklu proběhne vnitřní cyklus celý. Vypišme všechna trička, která obchod prodává, v každé velikosti a každé barvě:
const velikosti = ["S", "M"];
const barvy = ["červená", "modrá", "černá"];
for (const velikost of velikosti) {
for (const barva of barvy) {
console.log(velikost, barva);
}
}S červená
S modrá
S černá
M červená
M modrá
M černáVnější cyklus vezme "S" a vnitřní cyklus projde všechny tři barvy. Teprve pak vezme vnější cyklus "M" a vnitřní cyklus znovu projde všechny barvy. Blok vnitřního cyklu se tak provede 2 × 3 = 6krát. Proměnné obou cyklů pojmenujte různě (tady velikost a barva), abyste věděli, která je která.
Vnořenými cykly se procházejí také vnořená pole. Vnější cyklus bere jedno vnitřní pole po druhém a vnitřní cyklus prochází jeho prvky:
const skupiny = [["Anna", "Tomáš"], ["Eva", "Petr", "Jan"]];
for (const skupina of skupiny) {
console.log("Skupina:", skupina);
for (const jmeno of skupina) {
console.log("Ahoj,", jmeno);
}
}Skupina: ["Anna", "Tomáš"]
Ahoj, Anna
Ahoj, Tomáš
Skupina: ["Eva", "Petr", "Jan"]
Ahoj, Eva
Ahoj, Petr
Ahoj, JanJak psát:
Pokyny
Cestovní kancelář nabízí výlet do každého města z pole mesta s každou aktivitou z pole aktivity. Napište cyklus přes mesta, do něj vnořte cyklus přes aktivity a vypište každou dvojici příkazem console.log(mesto, aktivita);. Výstup začíná řádky Praha Tenis, Praha Nákupy, Praha Památky, Brno Tenis…
Spočítejte výlety: před cykly vytvořte proměnnou pocet s hodnotou 0, ve vnitřním cyklu ji zvyšte o jedna a za oběma cykly vypište console.log("Počet výletů:", pocet);. Výstup bude Počet výletů: 12.