84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
Bagaimana untuk mencari kedalaman maksimum pokok DOM menggunakan js asli?
Saya menggunakan atribut kanak-kanak nod dom untuk melintasi dan mengulang
Rutin rekursif ialah: 返回 (1 + 子节点们深度的最大值)
返回 (1 + 子节点们深度的最大值)
// map(e => e + 1)([0, 1, 2]) // => 1, 2, 3 // 类似于数组的map方法 不过这里柯里化了 var map = cb => arr => Array.prototype.map.call(arr, cb); // 取数组最大值 // max([0, 1, 2]) // => 2 var max = arr => arr.reduce((acc, cur) => { if (cur >= acc) return cur; else return acc; }, arr[0]); // 递归函数 var nextChildren = node => { // 基准条件 if (node.children.length === 0) return 1; else { // 求子节点们的长度 并取最大值 var deeps = map(nextChildren)(node.children); return 1 + max(deeps); } } // 计算 var $body = document.getElementsByTagName('body')[0]; var deep = nextChildren($body); console.log(deep);
Pelaksanaan rekursif
Saya menggunakan atribut kanak-kanak nod dom untuk melintasi dan mengulang
Rutin rekursif ialah:
返回 (1 + 子节点们深度的最大值)
ScreenShot