reduce

Park Bumsoo·2022년 4월 30일
0

educe() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

map이 배열의 각 요소를 변형한다면 reduce는 배열 자체를 변형합니다. reduce라는 이름은 이 메서드가 보통 배열을 값 하나로 줄이는 쓰이기 때문에 붙었습니다. 예를 들어 배열에 들어있는 숫자를 더하거나 평균을 구하는 것은 배열을 값 하나로 줄이는 동작입니다. 하지만 reduce가 반환하는 값 하나는 객체일 수도 있고, 다른 배열일 수도 있습니다.

리듀서 함수는 네 개의 인자를 가집니다.

누산기accumulator (acc)
현재 값 (cur)
현재 인덱스 (idx)
원본 배열 (src)
리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 됩니다.

arr.reduce(callback[, initialValue])

매개변수

callback : 배열의 각 요소에 대해 실행할 함수. 다음 네 가지 인수를 받는다.

  • accumulator : 누산기accmulator는 콜백의 반환값을 누적합니다. 콜백의 이전 반환값 또는, 콜백의 첫 번째 호출이면서 initialValue를 제공한 경우에는initialValue의 값입니다.

  • currentValue : 처리할 현재 요소.

  • currentIndex(optional : ): 처리할 현재 요소의 인덱스. initialValue를 제공한경우 0, 아니면 1부터 시작합니다.
    -array(optional : 사용해도 되고 안해도 되고) : reduce()를 호출한 배열.

  • initialValue(optional : ) : callback의 최초 호출에서 첫 번째 인수에 제공하는 값. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용합니다. 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생합니다.

    반환값

누적 계산의 결과 값.

profile
프론트엔드 개발자 ( React, Next.js ) - 업데이트 중입니다.

0개의 댓글