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

이전 기사에서 배열 방법filter을 사용하여 배열을 반복하는 방법에 대해 설명했습니다. 아래에서 확인할 수 있습니다.




오늘은 forEach를 사용하여 배열을 반복하는 방법에 대해 이야기하겠습니다.

각각


forEach() 메서드는 배열의 각 요소에 대해 지정된 함수를 순서대로 한 번씩 실행합니다. 이것이 일반적인 for ... 루프와 유사하지 않은지 궁금할 것입니다. 차이점은 for ... 루프에서는 반복 실행 횟수를 지정할 수 있는 반면 기본적으로 forEach 루프를 사용하면 루프가 배열의 요소 수만큼 실행된다는 것입니다.

구문을 살펴보겠습니다.

  // syntax
  arr.filter(callback([currentValue], [arrayIndex], [arr]));

[currentValue]: 처리 중인 배열의 현재 항목입니다. 행렬 후 현재 값은 배열의 다음 요소 값이 됩니다.

[arrayIndex]: 배열에서 현재 값의 인덱스입니다. 이는 현재 값이 처리된 후에도 변경됩니다.

[arr]: 반복되는 배열입니다.

[콜백]: 이것은 기본적으로 배열의 각 요소에 대해 수행되는 함수입니다. 처음 세 항목(currentValue, index 및 array)을 인수로 허용합니다.

이 예제를 살펴 보겠습니다.


  // Log items of the array to the console
  const playersArray = ["Messi", "Ronaldo", "Kante", "Nedy"];
  playersArray.forEach(player => console.log(player));

  // "Messi"
  // "Ronaldo"
  // "Kante"
  // "Nedy"


위의 예는 콜백 및 currentValue에서 player 인수를 사용합니다. 반복할 때마다 값player이 배열의 다음 요소가 됩니다.

다음은 forEach 루프를 사용하여 두 개의 배열을 사용하여 개체를 생성하는 또 다른 예입니다.


  const playersArray = ["Messi", "Ronaldo", "Kante", "Nedy"];
  const clubsArray = ["Barcelona", "Juventus", "Chelsea", "Barcelona-Alt"];
  const playersClubMap = {};

  playersArray.forEach((player, index) => {  
    const key = clubsArray[index];
    playersClubMap[key] = player;  
  });

  console.log(playersClubMap);
  // {
  //   Barcelona: "Messi",
  //   Barcelona-Alt: "Nedy",
  //   Chelsea: "Kante",
  //   Juventus: "Ronaldo"
  // }


forEach() 메서드에 대해 유의할 사항:


  • 예외를 통하는 경우를 제외하고는 반복 도중에 forEach 루프를 끊을 방법이 없습니다. 😜
  • 이 메서드는 호출되는 배열을 변경하지 않지만 콜백 함수는 변경할 수 있습니다.
  • 이 메소드는 명시적으로 명시된 경우를 제외하고 부울을 반환하지 않으므로 연결할 수 없습니다.
  • 반복이 진행되는 동안 항목이 배열에서 삭제되면 처리되지 않습니다.
  • 반복이 시작된 후 요소가 배열에 추가되면 처리되지 않습니다.

  • 결론


    Array.forEach()는 배열의 모든 요소에 대해 함수를 수행하려는 경우 유용하지만 특정 횟수만큼 반복하는 것과 같은 다른 작업을 수행하려는 경우 for ... , for ... in 또는 for ... of 사용을 고려해야 합니다. 루프.
    forEach 함수를 사용하기 위한 다른 인스턴스가 있습니까? 의견 섹션에서 공유하십시오.

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

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








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

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

    좋은 웹페이지 즐겨찾기