본문으로 바로가기
다음과 같이 배열 안에 여러 숫자 요소가 있을 때,
const array = [1, 6, , 7, 16, 22, 32, 34]; 
최대값과 최소값을 구할 때 reduce 함수를 사용하면 쉽다.
// 최대값 구하기
var max = array.reduce((previous, current) => { 
	return previous > current ? previous:current;
});
// 최소값 구하기
var min = array.reduce((previous, current) => { 
	return previous > current ? current:previous;
});
위 예시에서 보는 바와 같이 reduce 함수는 기본적으로 첫 번째 인자로 function 을 받습니다. 하지만, 두 번째 인자로 초기값을 셋팅할 수 있다. 
물론, 두 번째 인자는 생략이 가능하며, 생략 시에는 배열의 첫 번째 값이 그값을 담당한다.
뿐만 아니라 배열을 accumulator 즉, 순회하면서 return 한 값들을 계속해서 전달받아서 사용할 수 있다. 
accumulator 를 어떻게 활용하냐에 따라 최종적인 return 값은 string, integer 가 될 수도, array 나 object 가 될 수도 있어서 다양하게 활용할 수 있다.

참고 사이트
- https://programmingsummaries.tistory.com/108
- https://medium.com/@hongkevin/js-3-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B0%B0%EC%97%B4-%EB%A9%94%EC%84%9C%EB%93%9C-reduce-100-%ED%99%9C%EC%9A%A9%EB%B2%95-feat-egghead-io-97c679857ece