[Javascript] Yield an Array, String, or Any Iterable from a Generator (yield*)

Generators allow you to use the yield * syntax to yield each iteration of nested iterable as part of the main iterations. This enables you to combine multiple arrays, strings, or any iterable with anything you want to yield from your main generator.

 

const abcs = ["A", "B", "C"]

const reverseIterator = function* (array) {
    yield* array
    yield* array.map(letter => letter.toLowerCase())
    yield Math.random()
    yield* "wan"
}

const iterator = reverseIterator(abcs)

for (let value of iterator) {
    console.log(value)
}


/*
A
B
C
a
b
c
0.1234
w
a
n
*/

 

Guess you like

Origin www.cnblogs.com/Answer1215/p/12114849.html