개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.23 08:44

reduce 메서드 사용 시 initialValue의 역할에 대한 질문

목록
  • 커밋광 1일 전 2025.03.23 08:44
  • 6
    1
저는 reduce 메서드를 사용하여 배열의 요소를 합산하고자 하는데, initialValue의 역할을 이해하지 못하고 있습니다. initialValue를 생략했을 때와 지정했을 때의 차이점이 뭘까요?

예를 들어, 다음 배열에서 reduce 메서드를 사용할 때, initialValue를 지정해야 할까요?

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((a, b) => a + b);

혹은 initialValue를 지정해야 할까요?

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((a, b) => a + b, 0);

혹은 지정하지 않아도 된다고 생각하는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    reduce 메서드의 initialValue는 초기값을 지정할 때 사용됩니다. initialValue를 생략하면 reduce 메서드는 배열의 첫 번째 요소를 초기값으로 사용합니다.

    예를 들어, 배열 [1, 2, 3, 4, 5]에서 reduce 메서드를 사용할 때, initialValue를 생략하면 첫 번째 요소 1이 초기값으로 사용됩니다.

    const arr = [1, 2, 3, 4, 5];
    const sum = arr.reduce((a, b) => a + b); // 초기값은 1

    반면에 initialValue를 지정하면 지정한 값이 초기값으로 사용됩니다.

    const arr = [1, 2, 3, 4, 5];
    const sum = arr.reduce((a, b) => a + b, 0); // 초기값은 0

    만약 배열이 비어있다면, initialValue를 생략하면 undefined가 반환되고, initialValue를 지정하면 지정한 값이 반환됩니다.

    const arr = [];
    const sum = arr.reduce((a, b) => a + b); // 초기값이 없으므로 undefined
    const sum2 = arr.reduce((a, b) => a + b, 0); // 초기값은 0

    따라서, 배열의 요소를 합산할 때 initialValue를 지정해야 하는지 여부는 배열의 첫 번째 요소가 있는지 여부에 따라 결정됩니다. 만약 첫 번째 요소가 없다면 initialValue를 지정해야 합니다.

    2025-03-23 08:45

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,183건 / 7 페이지

검색

게시물 검색