reduce는 모두의 아버지이다.
result = oneTwoThree.reduce((acc, cur) => {
acc.push(cur % 2 ? '홀수' : '짝수');
return acc;
}, []);
result; // ['홀수', '짝수', '홀수']
이렇게 초깃값을 배열로 만들고 배열에 값들을 push하면 map과 같아짐. 이를 응용하여 조건부로
push하면 filter와 같아짐.
예를들면,
result = oneTwoThree.reduce((acc, cur) => {
if (cur % 2) acc.push(cur);
return acc;
}, []);
result; // [1, 3]
sort, every, some, find, findIndex, includes도 다 reduce로 구현 가능 참고