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

태태탯님의 프로필 이미지

작성한 질문수

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

yield *, L.deepFlat

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

22.02.19 11:45 작성

·

218

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

jeongbaebang_dev님의 프로필 이미지

2022. 07. 19. 17:00

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

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

2022. 02. 20. 00:35

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

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

2022. 02. 21. 19:47

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