강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

shut up and squat님의 프로필 이미지
shut up and squat

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+

지연된 함수열을 병렬적으로 평가하기 - C.reduce, C.take [2]

병렬평가 질문 있습니다!

작성

·

417

0

  C.reduce = curry((f, acc, iter) => {
    log([...acc]);
    return iter ? reduce(f, acc, catchNoop(iter)) : reduce(f, catchNoop(acc));
  });

reduce에 acc를 전개연산자로 펼쳐서 전달하지 않고 이전에 하게 되면 저렇게 iterable의 값이 모두 소비된 상태로 전달 되기 때문에 reduce의 값이 undefined로 평가 되는 것일까요...?

답변 1

0

MDU 유인동님의 프로필 이미지
MDU 유인동
지식공유자

질문을 정확히 이해하지를 못했어요~!

아 reduce함수에 이터러블을 넘겨주기 전에

저런식으로 log([...acc])를 실행한 후 reduce함수가 실행 됐을때 undefined를 출력하더라구요

생각을 해보니 log([...acc]) << 이 부분에서 전개연산에 의해 이터러블의 값이 모두 소비된 이후에 reduce함수에 전달 되기 때문에 이런 결과가 나온건지 여쭤봤습니다...!

MDU 유인동님의 프로필 이미지
MDU 유인동
지식공유자

동시에 모두 수행 시킨 뒤에 제어하기 위해 그렇게 해보았어요 :)

shut up and squat님의 프로필 이미지
shut up and squat

작성한 질문수

질문하기