더북(TheBook)

forEach()와 비슷한 map() 메서드도 있습니다. map()은 배열 요소들을 일대일로 짝지어서 다른 값으로 변환해 새로운 배열을 반환하는 메서드입니다. map()forEach()처럼 콜백 함수를 인수로 받지만, 새로운 배열을 반환한다는 점이 다릅니다.

형식

배열.map(<콜백 함수>);

다음 코드를 봅시다. for 문으로 배열에 1부터 5까지 push()로 추가해 numbers는 결국 [1, 2, 3, 4, 5]가 됩니다.

const numbers = [];
for (let n = 1; n <= 5; n += 1) {
  numbers.push(n); // 1부터 5까지의 배열
}
numbers; // (5) [1, 2, 3, 4, 5]

배열의 메서드만 사용해서 앞의 반복문과 같은 결과를 얻을 수 있습니다.

const numbers = Array(5).fill(1).map((v, i) => i + 1);
numbers; // (5) [1, 2, 3, 4, 5]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.