貌似用递归可以实现,怎么弄?
var deep = 0; //深度层级
var ele = document.body // 最深的元素的第一个
var eles = [ ele ] //最深的元素数组
function fn(_ele,_deep=0 ){
if(_deep > deep){
deep = _deep
ele = _ele
eles = [ _ele ]
}else if(_deep === deep){
eles.push(_ele)
}
if(_ele.children && _ele.children.length > 0){
Array.from(_ele.children).forEach(item=>{
fn(item, _deep + 1)
})
}
}
fn(ele);
console.log(deep, ele, eles)
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
DFS吗 最基础的算法