https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d
배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값);
result = oneTwoThree.reduce((acc, cur, i) => {
console.log(acc, cur, i);
return acc + cur;
}, 0);
// 0 1 0
// 1 2 1
// 3 3 2
result; // 6
map 예제를 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]
'개발지식 > JavaScript' 카테고리의 다른 글
bind() 가 뭐야 (0) | 2022.04.18 |
---|---|
배열 (0) | 2022.02.10 |
진수 변환 (0) | 2022.02.10 |
slice, splice (0) | 2022.02.02 |
{...}[...] 문법 (0) | 2022.02.02 |