Sobes.tech
Junior

Jaké typy cyklů for znáte v JavaScriptu?

sobes.tech AI

Odpověď od AI

V JavaScriptu existuje několik variant cyklu for:

  • for (klasický): Používá se k iteraci přes číselný rozsah nebo k provedení akce určitý početkrát.

    // Iterace přes číselný rozsah
    for (let i = 0; i < 5; i++) {
      console.log(i); // 0, 1, 2, 3, 4
    }
    
  • for...in: Prochází klíče (vlastnosti) enumerovatelných vlastností objektu (včetně vlastností prototypu). Nedoporučuje se pro iteraci přes pole kvůli možným problémům s pořadím a enumerací nečíselných vlastností.

    const obj = { a: 1, b: 2, c: 3 };
    for (const key in obj) {
      console.log(`${key}: ${obj[key]}`);
      // a: 1
      // b: 2
      // c: 3
    }
    
    const arr = ['jablko', 'banán', 'pomeranč'];
    for (const index in arr) {
      console.log(index); // 0, 1, 2 (klíče v tomto případě jsou indexy)
    }
    
  • for...of: Prochází hodnoty iterovatelných objektů, jako jsou pole, řetězce, Map, Set, TypedArray a argumenty. Doporučuje se pro iteraci přes pole.

    const arr = ['jablko', 'banán', 'pomeranč'];
    for (const element of arr) {
      console.log(element);
      // jablko
      // banán
      // pomeranč
    }
    
    const str = "ahoj";
    for (const char of str) {
      console.log(char);
      // a
      // h
      // o
      // j
    }
    

Porovnávací tabulka:

Cyklus Účel Procházené prvky Doporučeno pro
for Iterace přes číselný rozsah, opakování Určený počet krát Obecné cykly
for...in Procházení klíčů (vlastností) enumerovatelných objektů Klíče (vlastnosti) Objekty
for...of Procházení hodnot iterovatelných objektů Hodnoty Pole, řetězce, Map, Set