首先访问这个顶点,然后找出刚访问这个结点所有未被访问的邻结点,
访问完后再访问这些结点中第一个邻结点的所有结点,重复此方法,直到所有结点都被访问完为止。
详细参考(https://blog.csdn.net/qq_37482202/article/details/89513877)
let node = {
name: '我',
children: [
{
name: 'Alisa',
children: [{
name:"贝尔",
children:[]
}]
},
{
name: "BOB",
children: [{
name: "肖战",
children: [{
name:'王一博',
children:[]
}]
}]
}
]
}
function wideTraversal(node) {
let nodes = [],
i = 0
while (node != null) {
nodes.push(node)
node = nodes[i++]
let childrens = node.children
for (let i = 0; i < childrens.length; i++) {
nodes.push(childrens[i])
}
}
return nodes
}
const arr = wideTraversal(node);
console.log(arr);