Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 반복자 함수 완벽 정리: forEach, map, filter 활용법

자바스크립트는 명시적인 반복문(for, while 등) 외에도 배열을 손쉽게 순회할 수 있는 다양한 반복자(Iterator) 함수를 제공합니다. 이러한 함수들을 잘 활용하면 코드가 더 간결하고 가독성이 높아지며, 버그 발생 가능성도 줄어듭니다. 지금부터 대표적인 반복자 함수들을 하나씩 살펴보겠습니다.

1. forEach 함수

forEach는 배열의 모든 요소에 대해 인자로 전달된 함수를 실행합니다. 별도의 반환값은 없으며, 단순히 각 요소에 대해 특정 작업을 수행할 때 유용합니다.

예제

let people = ['Harry', 'Martha', 'John', 'Sam']
people.forEach(person => console.log(person.toUpperCase()));

위 코드는 배열의 각 이름을 대문자로 변환하여 출력합니다.

출력 결과

HARRY
MARTHA
JOHN
SAM

2. map 함수

map 역시 배열의 모든 요소에 대해 전달된 함수를 실행하지만, 각 요소의 반환값으로 구성된 새로운 배열을 생성한다는 점이 forEach와 다릅니다. 원본 배열은 변경되지 않으므로 데이터 변환 작업에 매우 적합합니다.

예제

let people = ['Harry', 'Martha', 'John', 'Sam']
let upperCaseNames = people.map(person => person.toUpperCase())
console.log(upperCaseNames);

출력 결과

[ 'HARRY', 'MARTHA', 'JOHN', 'SAM' ]

3. filter 함수

filter는 배열의 각 요소에 대해 전달된 함수를 실행하고, 그 결과가 참(truthy)인 값들만 모아 새로운 배열을 만듭니다. 조건에 맞는 요소만 추출하고 싶을 때 사용합니다.

예제

let people = ['Harry', 'Martha', 'John', 'Sam']
console.log(people.filter(person => person[0] === 'H'));

위 예제는 첫 글자가 'H'로 시작하는 요소만 걸러냅니다.

출력 결과

['Harry']

그 외 유용한 반복자 함수들

이 외에도 자바스크립트에는 다양한 반복자 함수가 존재합니다.

  • reduce: 배열의 모든 요소를 누적하여 단일 값으로 축소합니다.
  • every: 모든 요소가 조건을 만족하는지 검사합니다.
  • some: 하나라도 조건을 만족하는 요소가 있는지 검사합니다.

더 자세한 내용은 MDN 공식 문서에서 확인할 수 있습니다. 상황에 맞는 반복자 함수를 적절히 선택하면 훨씬 깔끔하고 효율적인 코드를 작성할 수 있습니다.