Sobes.tech
Junior

JavaScript-ში რა ტიპის for ციკლებს იცნობთ?

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