강의

멘토링

커뮤니티

Inflearn Community Q&A

rnrudxo28722279's profile image
rnrudxo28722279

asked

Functional Programming and JavaScript ES6+

yield *, L.deepFlat

deepFlat에 yield* 대신 for...of 문으로 작성

Written on

·

325

0

deepFlat을 yield* 대신 for...of문으로 작성을 하려는데, 가명함수가 제너레이터를 반환해서 제대로 작동이 안됩니다. 

deepFlat의 if문을 for...of문으로 작성하는 방법이 있을까요?

L.deepFlat = function* f(iter) {
    for(const a of iter) {
        if(isIterable(a)) for(const b of a) yield f(b);
        else yield a;
    }
}
javascript함수형-프로그래밍

Answer 2

1

L.deepFlat = function* f(iter) {
for (const a of iter) {
if (isIterable(a)) for (const c of f(a)) yield c;
else yield a;
}
};

0

mduniv님의 프로필 이미지
mduniv
Instructor

위 코드는 로직이 다릅니다. 어떤 차이가 있는지 한 번 고민해보세요. :)

rnrudxo28722279님의 프로필 이미지
rnrudxo28722279
Questioner

조금 더 고민하니 자연스럽게 풀렸네요. :)

rnrudxo28722279's profile image
rnrudxo28722279

asked

Ask a question