
function traverseTree (tree, cb, isNodeFirst) { if (isNodeFirst) { for (let i = 0; i < tree.length; i++) { cb(tree[i], i, tree) if (tree[i].children && tree[i].children.length > 0) { traverseTree(tree[i].children, cb) } } } else { for (let i = 0; i < tree.length; i++) { if (tree[i].children && tree[i].children.length > 0) { traverseTree(tree[i].children, cb) } cb(tree[i], i, tree) } } } 1 breezeFP 2021 年 6 月 22 日 function traverseTree(tree, cb, isNodeFirst) { for (let i = 0; i < tree.length; i++) { if(isNodeFirst) { cb(tree[i], i, tree) } if (tree[i].children && tree[i].children.length > 0) { traverseTree(tree[i].children, cb) } if(!isNodeFirst) { cb(tree[i], i, tree) } } } |
5 autoxbc &nsp; 2021 年 6 月 23 日 用 xpath 可以一次性获取全部节点,不用递归查找 const arr = []; for( let result = document.evaluate('//node()', document ) , next ; next = result.iterateNext() ; arr.push(next) ); console.log(arr); |