map과 reduce 함수의 차이는 무엇인가요?

0

기술면접 - JS

목록 보기
18/18

map과 reduce 함수의 차이는 무엇인가요?

mapreduce는 JavaScript에서 배열을 변형하고 처리하기 위해 사용되는 고차 함수입니다. 그러나 두 함수의 목적과 사용법은 약간 다릅니다.

1. map:

  • map 함수는 주어진 배열의 각 요소에 대해 콜백 함수를 호출하고, 각 콜백 함수의 반환 값을 모아 새로운 배열을 생성합니다.
  • map 함수는 원본 배열과 동일한 길이의 새로운 배열을 반환합니다.
  • map 함수는 원본 배열을 변경하지 않고 각 요소를 변형하고자 할 때 사용됩니다.

예시:

const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => num * num);
console.log(squaredNumbers); // 출력: [1, 4, 9, 16, 25]

2. reduce:

  • reduce 함수는 주어진 배열의 각 요소에 대해 콜백 함수를 호출하고, 콜백 함수의 반환 값을 누적하여 최종 결과를 반환합니다.
  • reduce 함수는 초기 누적값(initial accumulator value)을 설정하고, 배열의 요소를 차례로 처리하며 누적값을 업데이트합니다.
  • reduce 함수는 배열을 단일 값으로 축소하고자 할 때 사용됩니다.

예시:

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 출력: 15

주의할 점:

  • reduce 함수는 초기 누적값을 설정해야 합니다. 위의 예시에서 초기 누적값으로 0을 사용했습니다.
  • reduce 함수의 두 번째 인수로 초기 누적값을 전달하지 않으면 배열의 첫 번째 요소가 초기 누적값이 됩니다.

mapreduce는 서로 다른 용도를 가지고 있습니다. map은 각 요소를 변형하여 새로운 배열을 생성하고, reduce는 배열을 단일 값으로 축소하는 데 사용됩니다. 따라서 사용 목적에 맞게 적절한 함수를 선택하여 사용해야 합니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글