Příkaz continue v JavaScriptu

Existuje také příkaz continue, který spustí novou iteraci cyklu. Tento příkaz může být někdy užitečný pro zjednodušení kódu, i když úkol je téměř vždy možné vyřešit i bez něj. Podívejme se na praktický příklad.

Mějme pole s čísly. Projděme jej cyklem a čísla, která jsou dělitelná 2, umocněme na druhou a vypišme do konzole, a čísla, která jsou dělitelná 3, umocněme na třetí a vypišme do konzole. Zde je řešení popsaného úkolu:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

for (let elem of arr) {
  let result;
  
  if (elem % 2 === 0) {
    result = elem * elem;
    console.log(result);
    
  } else if (elem % 3 === 0) {
    result = elem * elem * elem;
    console.log(result);
    
  }
}

Jak vidíte, řádek console.log(result) se opakuje dvakrát. Vynesme jej za if, takto:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

for (let elem of arr) {
  let result;
  
  if (elem % 2 === 0) {
    result = elem * elem;
  } else if (elem % 3 === 0) {
    result = elem * elem * elem;
  }
  
  console.log(result); // přesunuli výpis za podmínku
}

Nyní však náš skript funguje trochu jinak: vyjde najevo, že i pro běžné prvky, nezpracované přes náš if, bude proveden výpis proměnné result do konzole, což podle podmínek našeho úkolu nechceme.

Opravme problém přidáním k našemu if ještě podmínky else, která se bude spouštět pro prvky nedělitelné 2 a 3, a zavolejme tam příkaz continue, který nás okamžitě přenese na novou iteraci cyklu:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

for (let elem of arr) {
  let result;
  
  if (elem % 2 == 0) {
    result = elem * elem;
  } else if (elem % 3 == 0) {
    result = elem * elem * elem;
  } else {
    continue; // přejdeme na novou iteraci cyklu
  }
  
  console.log(result); // provedeno, pokud je dělitelné 2 nebo 3
}
Задание 1

Napište cyklus, který vypíše pouze sudá čísla od 1 do 100, a přeskočí lichá pomocí continue.