728x90
반응형
function simpleArraySum(ar) {
return ar.reduce((acc, crr)=> acc+crr, 0 )
}
reduce()
는 배열을 순회하며 각 요소에 주어진 리듀서 함수를 실행하여, 인덱스 데이터를 줄여가 하나의 결과값을 반환한다.
arr.reduce(callback[, initialValue])
위 reduce()
메서드의 구문을 살펴보면
callback
은 배열의 각 요소에 대해 실행할 함수. 다음 네 가지 인수를 받는다.
accumulator
- 누산기accmulator는 콜백의 반환값을 누적한다. 콜백의 이전 반환값 또는, 콜백의 첫 번째 호출이면서
initialValue
를 제공한 경우에는initialValue
의 값이다.
- 누산기accmulator는 콜백의 반환값을 누적한다. 콜백의 이전 반환값 또는, 콜백의 첫 번째 호출이면서
currentValue
처리할 현재 요소.currentIndex
처리할 현재 요소의 인덱스.initialValue
를 제공한 경우에는 0, 그렇지 않으면 1부터 시작한다.array
reduce()
를 호출한 배열.
그리고 initialValue
은 callback
의 최초 호출에서 첫 번째 인수에 제공하는 값이다. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용한다. 빈 배열에서 초기값 없이 reduce()
를 호출하면 오류가 발생한다.
이렇게 4개의 인자를 가지는데 리듀서 함수의 반환 값은 1번 인자 즉, accumulator
에 할당되고, accumulator
는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.
728x90
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[Hacker Rank] Diagonal Difference (0) | 2021.06.04 |
---|---|
[Hacker Rank]A Very Big Sum (0) | 2021.06.04 |
[Hacker Rank] Compare the Triplets (0) | 2021.06.04 |
댓글