JavaScript实现数组与树结构的相互转换

1、将树结构数据转换为数组(按照树结构自上而下的顺序转换)

树结构:

树结构数据样例:

代码转换:

//将树结构数据转换为数组  treeNodes为树结构形式的数据
function treeToArray(treeNodes) {
  let result = [];
  //递归函数 traverse,用于处理单个节点
  function traverse(node) {
    const newNode = { ...node };
    delete newNode.children;
    // 将没有子节点的新节点添加到结果数组中
    result.push(newNode);

    // 如果当前节点包含 children 属性(即有子节点)
    if (node.children) {
      node.children.forEach(traverse);
    }
  }

  treeNodes.forEach(traverse);

  return result;
}

 转换后数据:(数组的index按照树结构自上而下的顺序,没有乱)

 

posted @ 2024-08-15 15:17  じ逐梦  阅读(23)  评论(0编辑  收藏  举报