JavaScriptアレイシリーズV‐アレイループと反復パート2の理解


前の記事では、配列の上でイテレーションについて話しましたFor ... , For ... of & For ... in ループ.次のようにチェックできます.


本稿では.私は、配列の上で反復する2つの他の方法について話します.

1ループ中


whileループは、指定した条件がtrueに評価される限り、指定したステートメントを実行する反復を作成します.指定された条件は、ステートメントが実行される前に常にチェックされます.

  // syntax
  while ( conditon ) {
    [statement]
  }

[条件] :文が実行される前にすべてのループで実行される式です.条件がtrueに評価されている限り、反復は継続します.ループが壊れていると評価され、whileループの後のステートメントでプログラムが継続します.
[文] :これは条件が真に評価される限り実行される文です.
を使って配列をループするwhile ループは、条件が配列の長さの減少の式ですarrayLength-- ). 以下の例を見てみましょう.

   const players = ["messi", "ronaldo", "nedy", "kante"];
   let index = players.length;

   while (index--) {
     console.log(players[index]) // "kante", "nedy", "ronaldo", "messi"
   }

これを行うと、最後の要素から始まる配列の要素にアクセスできます.望ましい効果を得るには、
  • whileループの前の配列をArray.prototype.reverse() 以下に示す方法.
  • 
       const players = ["messi", "ronaldo", "nedy", "kante"];
    
       // reverse the array
       players.reverse();
    
       let index = players.length;
    
       while (index--) {
         console.log(players[index]) // "messi", "ronaldo", "nedy", "kante"
       }
    
    
  • カウンタを初期化し、最初のランでカウンタを0にインクリメントします
  • 
       const players = ["messi", "ronaldo", "nedy", "kante"];
       let index = -1;
    
       while (index++ < players.length-1) {
         console.log(players[index]) // "messi", "ronaldo", "nedy", "kante"
       }
    
    
    (このメソッドを提案する@ dovcaに感謝します).

    1。一方ループ


    このメソッドは、指定した条件がfalseになるまで、条件がtrueの場合に最初にステートメントを実行します.
      // syntax
      do {
        [statement]
      }
      while ( conditon )
    
    を使うdo ... while 配列の上で繰り返すループはトリッキーでありえます、なぜならば、ここで指定された声明は条件が実行される前に少なくとも1回動くでしょう.以下の例を見てください
    
      const players = ["messi", "ronaldo", "nedy", "kante"];
    
      // reverse the array    0       1        2         3
      players.reverse() // "kante", "nedy", "ronaldo", "messi"
    
      let index = players.length;
    
      // itereation
      do {
        console.log(players[index]) // undefined, "messi", "ronaldo", "nedy", "kante"
      }
      while (index--)
    
    
    
    このシナリオでは、条件が実行される前にステートメントが実行されたので、サイズの値が4 配列インデックスは3で終了します(players[3] = "messi" ). continue関数は、初期値の実行をスキップするために使用され、実行時に実行されるときには、sizeの値は3ですmessi コンソールにログオンします.下を見る
    
      const players = ["messi", "ronaldo", "nedy", "kante"];
    
      // reverse the array    0       1         2         3
      players.reverse() // "kante", "nedy", "ronaldo", "messi"
    
      let index = players.length;
    
      // itereation
      do {
        // skip the initial statement
        if(index === players.length) {continue}
        console.log(players[index]) // "messi", "ronaldo", "nedy", "kante"
      }
      while (index--)
    
    
    [ break ] break文を使用して、条件がtrueになる前にループを停止します.名前が示すように、ループを中断します.
    [ continue ] : continue文を使用して、ループ内の1回の反復をスキップします.

    結論


    を使用するとき、多くを考慮に入れなければなりませんwhile & do ... while ループを配列の上で反復するために、私は、必要が起こるまで、他の反復メソッドを使用するべきであると忠告します.
    それは今日のすべてです、明日、我々は配列反復で使われるもう一つの機能について話します.
    これは私が書いたこの配列シリーズの他の記事へのリンクです.





  • 任意の質問を追加または修正?コメントを残してください.
    お読みありがとうございます.👍