//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
class Node {
constructor(value, ...children) {
this.value = value
this.children = children
}
*[Symbol.iterator]() {
const queue = [this]
while (queue.length) {
const node = queue.shift()
yield node.value
queue.push(...node.children)
}
}
}
const root = new Node(1,
new Node(2),
new Node(3,
new Node(4,
new Node(5,
new Node(6)
),
new Node(7)
)
),
new Node(8,
new Node(9),
new Node(10)
)
)
console.log([...root])