HTML的树形结构如上
深度优先遍历
对于树的深度优先遍历,执行结果应该如下:
采用递归方式
var arr=[];
//深度优先
function traversalDFSDOM (rootDom) {
if(!rootDom)return;
if(rootDom.children.length==0){
arr.push(rootDom)//没有孩子节点,表示是个叶子节点,将节点push到数组中
return;
}
arr.push(rootDom)//非孩子节点,在每次遍历它的孩子节点之前先把它push到数组中
for(var i=0;i<rootDom.children.length;i++){
traversalDFSDOM(rootDom.children[i])//递归调用
}
}
结果如下