[Javascript] Nested generators
2024-10-06 14:38:23
To see how to call another generator inside a generator:
function* numbers () {
yield ;
yield ;
yield* moreNumbers();
yield ;
yield ;
yield ;
} function* moreNumbers () {
yield ;
yield ;
yield ;
} const generator = numbers();
const values = []; for (let val of generator) {
values.push(val);
} console.log(values); // [1,2,3,4,5,6,7,8]
Example:
class Tree {
constructor (value, children= []) {
this.value = value;
this.children = children;
} *printValues () {
yield this.value;
for (let child of this.children) {
yield* child.printValues();
}
}
} const tree = new Tree(, [
new Tree(, [new Tree()]),
new Tree()
]); const values = [];
for (let value of tree.printValues()) {
values.push(value)
} console.log(values) // [1,2,4,3]
最新文章
- 分配问题与Hungarian算法
- linux的一些与关机和重启相关的命令
- jfinal框架页面找不到相关css,js文件404
- loose coupling之函数签名
- 踏着前人的脚印学Hadoop——序列化,Writerable
- python中struct模块及packet和unpacket
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- [置顶] a+=1/a=+1/a-=1区别-c语言
- Prime邻接表+优先队列
- web前端的学习误区
- Entity Framework 处理并发
- 利用jackson转成json字符串(ssh中)
- python之numpy库[2]
- rtems的GNU(GCC)编译环境配置
- H5中的web worker示例demo分析
- 单元测试报错NoSuchBeanDefinitionException
- mongodb 遇到的问题一 Error: connect ECONNREFUSED 127.0.0.1:27017
- socket学习笔记(一)
- 把玩Alpine linux(一):安装
- JSONArray