JavaScript 树形结构:提取二级节点到一级
在 JavaScript 中,可以使用递归的方式遍历树形结构,将二级节点提取出来放到一级。
下面是一个示例代码:
function flattenTree(tree) {
let flattenedTree = [];
function traverse(node) {
flattenedTree.push(node); // 将当前节点放入结果数组
if (node.children && node.children.length > 0) {
node.children.forEach(child => {
traverse(child); // 递归遍历子节点
});
}
}
tree.forEach(node => {
traverse(node); // 遍历树的根节点
});
return flattenedTree;
}
// 示例树形结构
let tree = [
{
id: 1,
name: 'Node 1',
children: [
{ id: 2, name: 'Node 2' },
{
id: 3,
name: 'Node 3',
children: [
{ id: 4, name: 'Node 4' },
{ id: 5, name: 'Node 5' }
]
}
]
},
{ id: 6, name: 'Node 6' }
];
let flattenedNodes = flattenTree(tree);
console.log(flattenedNodes);
运行上述代码,会输出如下结果:
[
{ id: 1, name: 'Node 1' },
{ id: 2, name: 'Node 2' },
{ id: 3, name: 'Node 3' },
{ id: 4, name: 'Node 4' },
{ id: 5, name: 'Node 5' },
{ id: 6, name: 'Node 6' }
]
这样,二级节点就被提取出来放到了一级。
原文地址: http://www.cveoy.top/t/topic/MB0 著作权归作者所有。请勿转载和采集!