항해99_6기_TIL
항해99 👩💻77일차 TIL
merrytang
2022. 5. 22. 22:24
reduce함수
callback function
1. accumulator : callback 함수의 반환값을 누적한다.
2. currentValue : 배열의 현재 요소
3. index(Optional) : 배열의 현재 요소의 인덱스
4. array(Optional) : 호출한 배열
=> callback 함수의 반환 값은 acc에 할당되고 순회 중 계속 누적되어 최종적으로 하나의 값을 반환한다.
initialValue(Optional)
=> 최초 callback함수 실행 시 acc 인수에 제공되는 값이다. 초기값을 제공하지 않을 경우 배열의 첫 번째 요소를 사용하고, 빈 비열에서 초기값이 없을 경우 에러가 발생한다.
예제
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
});
아래와 같이 화살표 함수로 나타낼 수도 있다.
[0, 1, 2, 3, 4].reduce( (prev, curr) => prev + curr );
콜백은 4번 호출된다. 그리고 반환하는 값으로는 마지막 콜백 호출의 반환값 10 을 사용한다.
reduce() 의 두 번째 인수로 초기값을 제공하는 경우 아래와 같은 결과가 나온다.
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
}, 10);
참조한 곳
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce