TIL 011|繰り返し


1.繰り返し文の基礎


符号化を行う際に同じコードを繰り返すことは,効率を向上させることができず,開発者としても避けるべき部分である.JavaScriptは複数の形式の重複文をサポートし、その中で最も基本的なのはfor文を使用することです.

重要な点は()内でcounterに変数を宣言し、条件と変化方法を決定することです.次に、実際の例を示します.

ここでstepはcounterとして宣言され,1が大きくなるにつれて10まで動作が繰り返されることがわかる.

2.繰り返しと配置


繰り返し文と配列はよく一緒に使われます.
let arr = [];

for (let i = 1; i < 6; i++) {
  arr.push(i);
}

console.log(arr);    // [1, 2, 3, 4, 5]
数値を1から5の順に空の配列arrに要素のコードとして追加します.
配列された要素を繰り返し文で巡回することもできます.
let arr = ["a", "b", "c", "d"]

for (let i = 0; i < 5; i++) {
  console.log(arr[i]);
}                                // "a", "b", "c", "d"
ここから、iは0から4に増大し、arr[0]からarr[4]に出力されることがわかる.
ただし,ここで用いるfor文は,i<5部分が固定されているため,配列の長さが異なる場合は,再修正が必要である.
これを解消するために、i<5の5の代わりにlength propertyを用いることができる.
let arr = ["a", "b", "c", "d", "e", "f"]

for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}                                // "a", "b", "c", "d", "e", "f"
arr.lengthを使用するため、配列の長さが変化してもfor文は変更されず、配列の長さに従って配列内の要素をループすることができます.

3.多様な複文

  • for ... 文
  • let arr = [1, 3, 5, 7];
    
    for (let num of arr) {
      console.log(num);
    }                             // 1, 3, 5, 7
    for ... of文を使用すると、より簡潔なコードで配列を巡回できます.
  • for ... 文
  • let obj = {
      name: "apple",
      color: "red",
      fruit: true
    }
    
    for (let key in obj) {
      console.log(key);
    }                            // "name", "color", "fruit"
    
    for (let key in obj) {
      console.log(obj[key]);     // "apple", "red", true
    }
    for ... in文は主にオブジェクトのpropertyを巡るキー値に使用されます.
  • 、文
  • let number = 1;
    let sum = 0;
    
    while (number < 11) {
      sum+=number;
      number++;
    }
    
    console.log(sum);       // 55 (1부터 10까지의 합)
    while文の後の条件が真である場合、{}の操作を繰り返します.条件が偽の場合、実行を停止し、while文の後の文に移動します.
  • do ... 文
  • let number = 1;
    let sum = 0;
    
    do {
      sum+=number;
      number++;
    } while (number<11);
    
    console.log(sum);       // 55 (1부터 10까지의 합)
    do ... 文とwhile文の違いは条件文の位置にある.ドアはリングに入る前に条件ドアをチェックします.でもdo...while文は、まずループを実行し、条件文を確認します.だからdo.while文は条件文の結果に関係なく,無条件に初めてループを実行する.
    たとえば、
    let number1 = 100;
    while (number1 < 11) {
      number1++;
    }
    console.log(number1);    // 100
    
    let number2 = 100;
    do {
      number2++;
    } while (number2<11);
    console.log(number2);    // 101
    
    両方の条件文が偽物なので、while文は動作を実行していませんが、do...while文は、動作が一度実行されたことを確認できます.

    references


    https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Loops_and_iteration
    https://curryyou.tistory.com/202
    https://velog.io/@04_miffy
    https://yjshin.tistory.com