用js写一个递归方法,遍历一个tree结构数组,找到与输入id相同的节点并返回
时间: 2024-03-09 20:46:08 浏览: 68
js代码-树节点的递归遍历
好的,以下是一个递归方法的示例代码,可以遍历一个tree结构数组,找到与输入id相同的节点并返回:
```javascript
function findNodeById(tree, id) {
for (let node of tree) {
if (node.id === id) {
return node;
}
if (node.children) {
let result = findNodeById(node.children, id);
if (result) {
return result;
}
}
}
return null;
}
```
这个方法接收两个参数,第一个参数是要遍历的tree结构数组,第二个参数是要查找的id。首先,它会遍历当前层级的每一个节点,如果找到了与输入id相同的节点,就直接返回这个节点。如果当前节点有子节点,就递归调用自己,传入子节点的数组和要查找的id,直到遍历到最底层的节点为止。如果遍历完了整个树都没有找到与输入id相同的节点,就返回null。
阅读全文