인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

태태탯님의 프로필 이미지
태태탯

작성한 질문수

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

yield *, L.deepFlat

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

작성

·

231

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;
    }
}

답변 2

0

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

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

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

태태탯님의 프로필 이미지
태태탯
질문자

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

태태탯님의 프로필 이미지
태태탯

작성한 질문수

질문하기