可以使用递归的方式将树形结构变为扁平数组,具体步骤如下:

  1. 定义一个空数组,用于存放扁平化后的数据。

  2. 遍历树形结构中的每一个节点,如果节点有子节点,则递归调用自身处理子节点。

  3. 将当前节点的数据添加到扁平化数组中。

  4. 返回扁平化数组。

代码如下:

function flattenTree(tree) {
  const result = [];

  function flatten(node) {
    result.push(node.data);
    if (node.children) {
      node.children.forEach((child) => {
        flatten(child);
      });
    }
  }

  tree.forEach((node) => {
    flatten(node);
  });

  return result;
}

其中,tree 是原始的树形结构数据,每一个节点包含一个 data 属性和一个可选的 children 属性。flatten 函数用于处理每一个节点,将其数据添加到 result 数组中,并递归处理子节点。最后,遍历整个树形结构,将每一个节点的数据添加到 result 数组中,最后返回 result 数组即可

es6 将树形结构变为扁平数组 不保留原数据格式

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

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