[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
*/

 

上一篇:python 迭代器


下一篇:yield的应用:多个可迭代对象联合遍历