reduce 는 iter 를 누적하여 값을 만들어 낸다. 이 것은 많은 일을 하지만 나쁘게 사용될 수도 있다.
사람들은 사용하지 않아도 되는 경우 사용하고 있다.
Jake도 과거에 자신을 빗대어 썰을 풀었다. 3단계를 거쳤다고 한다.
그렇다면 어디에서 reduce를 사용해야 하는가?
Surma가 reduce가 사용 되어지는 4가지 경우를 말한다.
실제로 loop 가 더 명확하고 깔끔한 경우가 있다. 그러나 내가 작성한 코드는 항상 나에게는 명확하다...
인기있는 오픈소스 프로젝트 들의 .reduce 코드를 검색 해보았다.
commitDurations.reduce(
(max, duration) => Math.max(max, duration),
0,
);
가장 높은 값을 찾기 위한 코드이다. 그러나 더 좋은 방법이 있다...