강의

멘토링

로드맵

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

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

작성한 질문수

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

yield *, L.deepFlat

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

작성

·

326

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

퀴즈

Đặc điểm kết quả chính khác biệt giữa hàm reduce hoặc take và hàm map hoặc filter là gì?

새로운 mảng được tạo.

Trả về kết quả trung gian.

Tạo kết quả cuối cùng.

Đổi thứ tự nhập.

답변 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

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

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

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

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

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

작성한 질문수

질문하기