Sobes.tech
Junior

Ի՞նչ տեսակների for ցիկլեր եք գիտակցում JavaScript-ում։

sobes.tech AI

Պատասխան AI-ից

JavaScript-ում կան մի քանի տեսակ for ցիկլեր:

  • for (հին տարբերակը): Օգտագործվում է թվային տիրույթով անցնելու կամ որոշակի քանակությամբ գործողություն կատարելու համար:

    // Թվային տիրույթով անցում
    for (let i = 0; i < 5; i++) {
      console.log(i); // 0, 1, 2, 3, 4
    }
    
  • for...in: Դիտարկում է ** բանալի** (գույքագրելի) հատկությունները օբյեկտի, ներառյալ պրոտոտիպի հատկությունները։ Չի խորհուրդ տրվում օգտագործել զանգվածների համար՝ հնարավոր կարգի և ոչ թվային հատկությունների ցուցակման խնդիրների պատճառով:

    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 = ['apple', 'banana', 'orange'];
    for (const index in arr) {
      console.log(index); // 0, 1, 2 (բանալիքներն այստեղ - ինդեքսներ)
    }
    
  • for...of: Դիտարկում է արժեքները՝ տիրապետվող օբյեկտների, ինչպիսիք են զանգվածները, տողերը, Map, Set, TypedArray և արգումենտները։ Խորհուրդ է տրվում օգտագործել զանգվածների համար:

    const arr = ['apple', 'banana', 'orange'];
    for (const element of arr) {
      console.log(element);
      // apple
      // banana
      // orange
    }
    
    const str = "hello";
    for (const char of str) {
      console.log(char);
      // h
      // e
      // l
      // l
      // o
    }
    

Համեմատության աղյուսակ:

Ցիկլ Նպատակը Դիտարկվող տարրերը Խորհուրդ է տրվում օգտագործել
for Թվային տիրույթով անցում, կրկնություն Նշված թիվը կամ սահմանը Ընդհանուր ցիկլեր
for...in Բանալիքների (գույքագրելի հատկությունների) անցում Բանալիքներ (գույքագրելի հատկություններ) Օբյեկտներ
for...of Արժեքների անցում տիրապետվող օբյեկտների վրա Արժեքները Զանգվածներ, տողեր, Map, Set