首先訪問這個頂點,然后找出剛訪問這個結(jié)點所有未被訪問的鄰結(jié)點誉己,
訪問完后再訪問這些結(jié)點中第一個鄰結(jié)點的所有結(jié)點抖拦,重復(fù)此方法,直到所有結(jié)點都被訪問完為止诫睬。
詳細參考(https://blog.csdn.net/qq_37482202/article/details/89513877)
image.png
let node = {
name: '我',
children: [
{
name: 'Alisa',
children: [{
name:"貝爾",
children:[]
}]
},
{
name: "BOB",
children: [{
name: "肖戰(zhàn)",
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);