go에서 사용하는 reduce 함수가 어떻게 동작되는지 이해가 되지않습니다.
405
권혁진
작성한 질문수 8
1
const reduce = (f, acc, iter) => {
// iter에 값이 없으면 두번째 인자인 acc를 iterable로 변환
// acc는 iter의 첫번째 값인 0으로
if (!iter) {
iter = acc[Symbol.iterator]();
acc = iter.next().value;
}
// iter에서 next를 한번 하였기 때문에 (a) => a + 1, 부터 들어감.
for (const a of iter) {
acc = f(acc, a); // acc = ?(0, a => a + 1) { ? }
}
return acc;
};
const go = (...args) => reduce((a, f) => f(a), args);
go(
0,
(a) => a + 1,
(a) => a + 10,
(a) => a + 100
);
reduce에서 f로 인자로 넘겨준 함수가 reduce 함수내에서 어떤식으로 동작하는지를 모르겠습니다.
이거가지고 2일동안 막히고 있네요 ㅠㅠ
답변 2
0
안녕하세요!
로그를 찍어보면서 다시 한 번 잘 봐보시면 어떨까요?
프론트엔드 실무에서 어떤때에 쓰이는지 궁금합니다
1
133
1
함수형 프로그래밍 심화 강의 자료 추천
0
106
2
함수형 자바스크립트 프로그래밍 책
0
78
1
filter가 아무것도 걸러내지 못하는 경우
0
141
1
take 함수의 성능적면에서의 이점
1
498
1
pipe함수
1
544
1
Identity 함수
0
457
1
함수형 프로그래밍이란
0
846
1
reduce 예제 코드 제안!
0
413
1
fxts를 배워보려고 합니다.
1
545
1
flatMap 관련 질문드립니다~
1
457
1
다용성이 높은 L.flatMap
0
365
1
변수에 재 할당 금지~
0
544
1
DevTools라고 옆에 결과 확인하는거 어떻게 하나요?
0
495
2
소요시간에 관해서 질문드립니다
1
474
1
join에 대한 내용이 궁금증이 해결되지 않아서 질문드립니다!
0
478
2
reduce에 L.range를 사용할 때
0
538
2
[이해내용 공유] Lazy 에서 C.reduce가 병렬 효과를 내는 이유
3
750
2
제가 이해한 C.Reduce와 Reduce의 동작 차이 정리
2
811
3
go, pipe 함수 관련하여 질문 드립니다.
1
517
1
안녕하세요 강사님!
0
389
2
fxts에 go가 없는 이유?
0
854
1
비동기 관련 질문입니다!
0
468
1
질문 있습니다.
0
526
1





