Sobes.tech
Junior

Koje vrste for petlji poznajete u JavaScriptu?

sobes.tech АИ

Одговор од АИ

U JavaScript-u postoji nekoliko varijanti for petlji:

  • for (klasična): Koristi se za iteraciju kroz numerički opseg ili za izvršavanje radnje određeni broj puta.

    // Iteracija kroz numerički opseg
    for (let i = 0; i < 5; i++) {
      console.log(i); // 0, 1, 2, 3, 4
    }
    
  • for...in: Prolazi kroz ključeve (svojstva) enumerabilnih svojstava objekta (uključujući svojstva prototipa). Ne preporučuje se za iteraciju kroz nizove zbog potencijalnih problema sa redosledom i enumeracijom nenumernih svojstava.

    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 = ['jaje', 'banana', 'narandža'];
    for (const index in arr) {
      console.log(index); // 0, 1, 2 (ključevi u ovom slučaju su indeksi)
    }
    
  • for...of: Prolazi kroz vrednosti iterabilnih objekata, kao što su nizovi, stringovi, Map, Set, TypedArray i argumenti. Preporučuje se za iteraciju kroz nizove.

    const arr = ['jaje', 'banana', 'narandža'];
    for (const element of arr) {
      console.log(element);
      // jaje
      // banana
      // narandža
    }
    
    const str = "zdravo";
    for (const char of str) {
      console.log(char);
      // z
      // d
      // r
      // a
      // v
      // o
    }
    

Tabelа poređenja:

Petlja Svrha Objekti za iteraciju Preporučeno za
for Iteracija kroz numerički opseg, ponavljanje Određeni broj puta Opšte petlje
for...in Iteracija kroz ključeve (svojstva) enumerabilnih objekata Ključevi (svojstva) Objekti
for...of Iteracija kroz vrednosti iterabilnih objekata Vrednosti Nizovi, stringovi, Map, Set