Sobes.tech
Junior

Ce tipuri de bucle for cunoști în JavaScript?

sobes.tech AI

Răspuns de la AI

În JavaScript, există mai multe variante ale buclei for:

  • for (clasic): Se folosește pentru a itera peste un interval numeric sau pentru a executa o acțiune de un anumit număr de ori.

    // Iterare peste un interval numeric
    for (let i = 0; i < 5; i++) {
      console.log(i); // 0, 1, 2, 3, 4
    }
    
  • for...in: Parcurge cheile (proprietățile) proprietăților enumerate ale unui obiect (inclusiv cele din prototip). Nu este recomandat pentru iterația peste array-uri din cauza potențialelor probleme cu ordinea și enumerarea proprietăților non-numerice.

    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 = ['măr', 'banană', 'portocală'];
    for (const index in arr) {
      console.log(index); // 0, 1, 2 (cheile în acest caz sunt indicii)
    }
    
  • for...of: Parcurge valorile obiectelor iterabile, cum ar fi array-urile, șirurile, Map, Set, TypedArray și argumentele. Se recomandă pentru iterația peste array-uri.

    const arr = ['măr', 'banană', 'portocală'];
    for (const element of arr) {
      console.log(element);
      // măr
      // banană
      // portocală
    }
    
    const str = "salut";
    for (const char of str) {
      console.log(char);
      // s
      // a
      // l
      // u
      // t
    }
    

Tabel comparativ:

Ciclu Scop Elemente de parcurs Recomandat pentru
for Iterare peste un interval numeric, repetare Număr definit de ori Buclă generală
for...in Parcurgere chei (proprietăți) ale obiectelor enumerate Chei (proprietăți) Obiecte
for...of Parcurgere valori ale obiectelor iterabile Valori Array-uri, șiruri, Map, Set