使用递归可以轻松地生成树形结构。以下代码展示了如何使用 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.00.children.0.children.0 等节点。

ES6 递归生成树形结构:0.children.0, 0.children.0.children.0 示例

原文地址: https://www.cveoy.top/t/topic/oPfi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录