강의

멘토링

커뮤니티

Inflearn Community Q&A

0131mj9305's profile image
0131mj9305

asked

Functional Programming and JavaScript ES6+

Polymorphism of map following iterable protocol 2

reduce 에서 초기값이 없을 때

Written on

·

268

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 를 중간에 넣으신 이유가 궁금합니다.

javascript함수형-프로그래밍

Answer 2

0

Dev님의 프로필 이미지
Dev
Questioner

답변 감사합니다.

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

0

mduniv님의 프로필 이미지
mduniv
Instructor

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

0131mj9305's profile image
0131mj9305

asked

Ask a question