reduce: 배열안에 값 모두더하기

minji jeon·2022년 7월 6일
0

백준 with node.js

목록 보기
1/1

기본형식

우선 mdn을 들어가보자

이런 형식을 가진다고 하는데 온통 영어투성이라 잘 와닿지가 않는다.
쉽게 정리해보면,

array.reduce((a,b)=>(a + b, c))
인 것이다.
여기서
a = previousValue(accumulator)
b= currentValue
c= initialValue(optional)

참고initialValue를 제공하지 않으면, reduce()는 인덱스 1부터 시작해 콜백 함수를 실행하고 첫 번째 인덱스는 건너 뜁니다. initialValue를 제공하면 인덱스 0에서 시작합니다.(즉 currentvalue가 인덱스0에서 시작)

작동방식

만약 reduce() 함수 호출에서 initialValue를 제공한 경우, accumulator는 initialValue와 같고 currentValue는 배열의 첫 번째 값과 같습니다.
initialValue를 제공하지 않았다면, accumulator는 배열의 첫 번째 값과 같고 currentValue는 두 번째와 같습니다.

즉 previousValue(accumulator)는 콜백의 첫 번째 호출이면서 initialValue를 제공한 경우에는 initialValue의 값이다.
예를들어, initialValue를 10으로 설정한 경우 10+currentValue(배열의 첫번째값)로 계산이 된다.
initialValue가 없을 경우,
array.reduce((array[0],array[1])=>(array[0] + array[1]))
인 셈이며,

사진과 같이 돌게 된다.

배열안에 값을 모두 더하는 다른 방법으로는 foreach가 있다.

profile
은행을 뛰쳐나와 Deep Dive in javascript

0개의 댓글