1. 函数递归定义
程序调用自身的编程技巧称为递归( recursion)。
2.使用条件
1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。
2.每次递归调用之后越来越接近这个限制条件。3.既然是自己调用自己,那么整个逻辑一定是很有规律,对应的传入的参数也一定很有规律。例如常见的 Tree 树形结构,每一个对象的结构一致。
{"id": 91,"name": "一级","code": "91","type": "org","parentId": 0,"remark": null,"unused": true,"permission": true,"children": [{"id": 1109,"name": "xxxx","code": "134xxxxxx86","type": "user","parentId": 91,"remark": "","unused": true,"permission": true,"children": null},] }
3. 递归方法
function findTreeNodeById(node, id) {if (node !=null){if (Number(node.id)==Number(id)){return node;}else{if ( node.children!=null && node.children.length>0){for (let i = 0;i<node.children.length;i++){let result = findTreeNodeById(node.children[i],id);if (result){return result;}}}}}else {return null;}
}