[JS] Iterators

뚜벅맨·2021년 6월 17일

반복을 도와주는 자바스크립트 배열 방법을 반복법(repeating method)이라고 부릅니다. Iterator는 요소를 조작하고 값을 반환하기 위해 배열에서 호출되는 방법입니다.

Callback Functions

자바스크립트에서 콜백 함수는 인수로써 다른 함수에 전달되는 함수입니다. 그런 다음 이 함수는 고차 함수의 실행 중에 호출될 수 있습니다.

자바스크립트에서 함수는 객체이므로 함수는 인수로 전달될 수 있습니다.

Array Method .forEach()

.forEach()는 배열의 각 요소에 대해 동일한 코드를 순서대로 실행하는 메소드입니다.

const numbers = [28, 77, 45, 99, 27];
 
numbers.forEach(number => {  
  console.log(number);
}); 

위의 예시에서 console.log() 메서드를 포함하는 콜백 함수는 각 요소에 대해 한 번씩 총 5번 실행됩니다.

Array Method .reduce()

.reduce() 메소드는 배열을 반복하고 단일 값을 반환합니다.

두 개의 매개 변수(accumulator, currentValue)가 있는 콜백 함수를 인수로 사용합니다. 각 반복에서 accumulator는 마지막 반복에 의해 반환된 값이며 currentValue은 현재 요소입니다. 선택적으로 accumulator의 초기 값으로 작동하는 두 번째 인수를 전달할 수 있습니다.


const arrayOfNumbers = [1, 2, 3, 4];
 
const sum = arrayOfNumbers.reduce((accumulator, currentValue) => {  
  return accumulator + currentValue;
});
 
console.log(sum); // 10

위의 예시에서 .reduce() 메소드는 배열의 모든 요소를 합합니다.

Array Method .filter()

.filter() 메소드는 배열의 각 요소에 대해 콜백 함수를 실행합니다.
각 요소의 콜백 함수는 true 또는 false를 반환합니다. 반환된 배열은 콜백 함수가 true로 반환되는 요소를 가진 새 배열입니다.

const randomNumbers = [4, 11, 42, 14, 39];
const filteredArray = randomNumbers.filter(n => {  
  return n > 5;
});

위의 예시에서 filteredArray는 4를 제외한 randomNumbers의 모든 요소를 포함합니다.

Array Method .map()

.map() 메소드는 배열의 각 요소에 대해 콜백 함수를 실행하며, 콜백 함수에서 반환 값으로 구성된 새 배열을 반환합니다.

원래 배열은 변경되지 않으며 반환된 배열은 원래 배열과 다른 요소를 포함할 수 있습니다.

const finalParticipants = ['Taylor', 'Donald', 'Don', 'Natasha', 'Bobby'];
 
const announcements = finalParticipants.map(member => {
  return member + ' joined the contest.';
})
 
console.log(announcements);
profile
쉽게만 살아가면 재미없어 빙고🐝

0개의 댓글