<div id="root1">
<ul>
<li>
<a href="">
<img src="" alt="">
</a>
</li>
<li>
<span></span>
</li>
<li>
</li>
</ul>
<p></p>
<button></button>
</div>
广度优先:
利用队列先进先出原理
function breadthTra(node) {
var queue = [], // 开辟一个临时队列,用于组装
res = []
if (node) {
queue.push(node)
while (queue.length) {
var item = queue.shift() // 取出第一项
res.push(item) // [div]
for (var i = 0; i < item.children.length; i++) {
queue.push(item.children[i])
}
}
}
console.log(res, 11)
return res
}
深度优先:
【递归】当前节点(node)下面的子节点(node.children)
function deepTra(node){
let res = [];
if(node !== null) {
res.push(node);
let child = node.children;
for(let i=0;i<chid.length;i++){
deepTra(child[i]);
}
}
return res;
}
网友评论