• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

22.02.19 11:45 작성 조회수 149

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님의 프로필

jeongbaebang_dev

2022.07.19

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.21

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