Array.prototype.map를 활용하여 배열을 변형하기

Photo of author

By tester

안녕하세요! 오늘은 JavaScript에서 많이 사용되는 `Array.prototype.map` 메서드에 대해 이야기해보겠습니다. 이 메서드는 배열을 변형하고 새로운 배열을 생성하는 유용한 기능을 제공합니다.


const numbers = [1, 2, 3, 4, 5];
const doubleNumbers = numbers.map((num) => {
  return num * 2;
});
console.log(doubleNumbers); // [2, 4, 6, 8, 10]

위의 예시 코드에서는 `Array.prototype.map`을 사용하여 `numbers` 배열의 각 요소를 2배로 만든 `doubleNumbers` 배열을 생성합니다. 새 배열의 각 요소는 이전 배열의 각 요소에 콜백 함수를 적용한 결과로 구성됩니다.

이 메서드는 보다 복잡한 작업을 수행할 수도 있습니다. 예를 들어, 객체 배열에서 특정 속성값만 추출하거나, 숫자 배열에서 홀수 값만 필터링하는 등의 작업이 가능합니다. 콜백 함수의 반환값이 새 배열의 각 요소로 들어가며, 최종적으로 새 배열을 반환합니다.

Array.prototype.map의 기능

`Array.prototype.map`은 다음과 같은 기능을 제공합니다.

1. 간편한 배열 변형: `Array.prototype.map`은 반복적인 작업을 통해 각 요소를 변경하는 번거로움을 덜어줍니다. 각 요소를 변경하고 새로운 배열을 반환하는 과정을 한 줄의 코드로 효율적으로 처리할 수 있습니다.

2. 불변성 유지: `Array.prototype.map`은 원본 배열을 수정하지 않으며, 새로운 배열을 반환합니다. 이로 인해 함수형 프로그래밍의 핵심 개념 중 하나인 불변성을 유지하는 데 도움을 줍니다. 원본 배열을 그대로 유지하면서 변형된 배열을 사용할 수 있어 코드의 예측 가능성과 안정성을 높이는 장점이 있습니다.

자주 묻는 질문(FAQ)

Q: `Array.prototype.map`과 `Array.prototype.forEach`의 차이점은 무엇인가요?

A: `Array.prototype.map`은 각 요소를 변형하여 새로운 배열을 반환하는 반면, `Array.prototype.forEach`는 각 요소에 대해 지정된 함수를 실행하고, 반환값이 없습니다. `Array.prototype.map`은 변형된 배열을 반환하지만 `Array.prototype.forEach`는 반환하지 않습니다.

Q: `Array.prototype.map`의 콜백 함수에서 반환하지 않은 요소는 어떻게 처리되나요?

A: `Array.prototype.map`의 콜백 함수에서 반환하지 않은 요소는 새 배열에 포함되지 않고 버려집니다. 따라서, 콜백 함수에서 값을 반환할 때 모든 요소를 반환하는지 확인해야 합니다.

Q: `Array.prototype.map` 메서드는 어떤 버전에서 도입되었나요?

A: `Array.prototype.map` 메서드는 ECMAScript 5에 도입되었습니다. 따라서, 모든 현대적인 브라우저에서 지원됩니다.

마무리

오늘은 `Array.prototype.map` 메서드에 대해 알아보았습니다. 이 메서드는 배열을 변형하여 새로운 배열을 생성해주는 편리한 기능을 제공합니다. `Array.prototype.map`은 각 요소를 변형하는 간단한 작업부터 복잡한 변형 작업에 이르기까지 다양한 용도로 사용될 수 있습니다. 필요에 따라 `Array.prototype.map`을 활용하여 효율적이고 간결한 코드를 작성해보세요!

Leave a Comment