Answer

Answer

t.me/js_test

Ответ:

[ 1, 2, 3, 'a', 'b', 'c' ]

Объяснение:

Генераторы можно делегировать другим генераторам с помощью конструкции yield*. В таком случае, сначала должен завершится генератор которому делегировали управление и только после этого основной генератор продолжит работу. Так же в примере можно заметить как генератор развёртывается в массив с помощью spread оператора, так можно делать потому что spread оператор использует итератор.

Код:

function* nums() {
    for (const n of [1, 2, 3]) {
        yield n;
    }
}

function* chars() {
    for (const c of ['a', 'b', 'c']) {
        yield c;
    }
}

function* pseudoRandStr() {
    yield* nums();
    yield* chars();
}

const arr = [...pseudoRandStr()];

console.log(arr);

Report Page