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 = ['ҷамъи', 'банан', 'анор'];
    for (const index in arr) {
      console.log(index); // 0, 1, 2 (калидҳо дар ин ҳолат индексҳо мебошанд)
    }
    
  • for...of: Месозад итерировать дар арзишҳои объектҳои итершаванда, масалан, рӯйхатҳо, сатрҳо, Map, Set, TypedArray ва аргументҳо. Барои итерировать рӯйхатҳо тавсия мешавад.

    const arr = ['ҷамъи', 'банан', 'анор'];
    for (const element of arr) {
      console.log(element);
      // ҷамъи
      // банан
      // анор
    }
    
    const str = "салом";
    for (const char of str) {
      console.log(char);
      // с
      // о
      // л
      // о
      // м
    }
    

Таблиғи муқоиса:

Давр Мақсад Элементҳои итерировать Мусоид аст барои
for Итерировать дар доираи рақамӣ, такрор кардан Миқдори муайян дар як маротиба Даврҳои умумӣ
for...in Итерировать дар калидҳо (хосиятҳо) дар объектҳои ҳисобшаванда Калидҳо (хосиятҳо) Объектҳо
for...of Итерировать дар арзишҳои объектҳои итершаванда Арзишҳо Рӯйхатҳо, сатрҳо, Map, Set