Javascript 배열 시리즈 이해 V - 배열 루프 및 반복 파트 II

이전 기사에서 For ... , For ... of & For ... in 루프를 사용하여 배열을 반복하는 것에 대해 이야기했습니다. 아래에서 확인할 수 있습니다.




이 기사에서. 배열을 반복하는 두 가지 다른 방법에 대해 이야기하겠습니다.

1. 루프 동안



while 루프는 지정된 조건이 true로 평가되는 한 지정된 문을 실행하는 반복을 만듭니다. 명령문이 실행되기 전에 지정된 조건이 항상 확인됩니다.


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


[조건]: 문이 수행되기 전에 모든 루프에서 실행되는 식입니다. 조건이 참으로 평가되는 한 반복은 계속되고, 거짓으로 평가되면 루프가 중단되고 프로그램은 while 루프 다음에 명령문을 계속합니다.

[statement]: 조건이 true로 평가되는 동안 실행되는 문입니다.
while 루프를 사용하여 배열을 반복하려면 조건은 배열 길이 감소의 표현이 됩니다(예: arrayLength-- ). 아래에서 몇 가지 예를 살펴보겠습니다.


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

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


이렇게 하면 마지막 요소에서 시작하여 배열의 요소에 액세스하게 됩니다. 원하는 효과를 얻으려면 다음이 필요합니다.
  • 아래와 같이 Array.prototype.reverse() 메서드를 사용하여 while 루프 앞의 배열을 뒤집습니다.

  • 
       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으로 증가하도록 카운터를 -1로 초기화합니다. 아래를 참조하십시오.

  • 
       const players = ["messi", "ronaldo", "nedy", "kante"];
       let index = -1;
    
       while (index++ < players.length-1) {
         console.log(players[index]) // "messi", "ronaldo", "nedy", "kante"
       }
    
    

    (이 방법을 제안한 @dovca에게 감사드립니다).

    1. Do ... while 루프



    이 메소드는 지정된 조건이 false로 평가될 때까지 조건이 true인지 확인하기 전에 명령문을 먼저 실행합니다.

      // syntax
      do {
        [statement]
      }
      while ( conditon )
    
    do ... while 루프를 사용하여 배열을 반복하는 것은 까다로울 수 있습니다. 여기서 조건이 실행되기 전에 지정된 명령문이 한 번 이상 실행되기 때문입니다. 아래의 예를 살펴보십시오.

    
      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--)
    
    
    

    이 시나리오에서는 조건이 실행되기 전에 명령문이 실행되었기 때문에 undefined가 있습니다. 따라서 크기 값은 4이고 배열 인덱스는 3(players[3] = "messi")에서 끝납니다. continue 함수는 초기 명령문 실행을 건너뛰는 데 사용되므로 실행을 수행하기 위해 돌아올 때 크기 값이 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 문은 루프에서 하나의 반복을 건너뛰는 데 사용됩니다.

    결론



    배열을 반복하기 위해 while & do ... while 루프를 사용할 때 많은 것을 고려해야 합니다. 필요할 때까지 다른 반복 방법을 사용해야 합니다.

    오늘은 여기까지입니다. 내일은 배열 반복에 사용되는 또 다른 함수 집합에 대해 이야기하겠습니다.

    다음은 내가 작성한 이 어레이 시리즈의 다른 기사에 대한 링크입니다.






  • 질문, 추가 또는 수정 사항이 있습니까? 댓글을 남겨주세요.

    읽어 주셔서 감사합니다. 👍

    좋은 웹페이지 즐겨찾기