ES6 递归生成树形结构:0.children.0, 0.children.0.children.0 示例
使用递归可以轻松地生成树形结构。以下代码展示了如何使用 ES6 递归函数 generateTree 来生成一个树形结构,并演示如何创建带有 id 属性的节点,以及如何使用递归深度 level 控制树的层级。
function generateTree(parent, level) {
if (level === 0) return;
const child = { id: parent.id + '.children.' + 0, children: [] };
parent.children.push(child);
generateTree(child, level - 1);
}
const tree = { id: '0', children: [] };
generateTree(tree, 2);
console.log(tree.children[0].id); // 输出:0.children.0
console.log(tree.children[0].children[0].id); // 输出:0.children.0.children.0
在上述代码中,generateTree 函数接收两个参数:
parent:表示父节点。level:表示递归深度。
当递归深度为 0 时,递归结束。在函数内部,首先创建当前节点的第一个子节点,然后将其加入到父节点的 children 数组中,并递归调用 generateTree 函数,传入子节点和 level - 1。
最后,我们创建一个根节点 tree,并调用 generateTree 函数生成树形结构。输出结果符合预期,成功生成了 0.children.0 和 0.children.0.children.0 等节点。
原文地址: https://www.cveoy.top/t/topic/oPfi 著作权归作者所有。请勿转载和采集!