강의

멘토링

로드맵

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

뿡아님의 프로필 이미지
뿡아

작성한 질문수

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

이터러블 프로토콜을 따른 map의 다형성 2

reduce 에서 초기값이 없을 때

작성

·

250

0

const reduce = (fiteracc=> {
    if (acc === undefined) {
        iter = iter[Symbol.iterator]();
        acc = iter.next().value;
    }
    for (const a of iter) {
        acc = f(acca);
    }
    return acc;
};

log(reduce(add, [123]));
log(reduce(add, [123], 10));

위 처럼 acc가 옵션값으로 마지막에 들어가지 않고

설명에서 acc 를 중간에 넣으신 이유가 궁금합니다.

답변 2

0

뿡아님의 프로필 이미지
뿡아
질문자

답변 감사합니다.

관례적으로 옵셔널한 값은 맨 뒤에 넣는다고 생각했는데, 함수형 언어들은 중간에 넣어서 쓰기도 하나보네요.

0

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

다른 함수형 언어들의 reduce가 보통 acc가 중간에 들어갑니다 :)

뿡아님의 프로필 이미지
뿡아

작성한 질문수

질문하기