es6 将树形结构变为扁平数组
使用递归来将树形结构变为扁平数组。
示例代码:
const flattenTree = (tree) => {
let result = [];
if (!tree) {
return result;
}
const flatten = (node) => {
result.push(node);
if (node.children) {
node.children.forEach(flatten);
}
};
flatten(tree);
return result;
};
假设树形结构如下:
const tree = {
id: 1,
label: 'Node 1',
children: [
{
id: 2,
label: 'Node 2',
children: [
{
id: 3,
label: 'Node 3',
},
{
id: 4,
label: 'Node 4',
},
],
},
{
id: 5,
label: 'Node 5',
children: [
{
id: 6,
label: 'Node 6',
},
],
},
],
};
调用 flattenTree(tree) 会返回以下扁平数组:
[
{ id: 1, label: 'Node 1' },
{ id: 2, label: 'Node 2' },
{ id: 3, label: 'Node 3' },
{ id: 4, label: 'Node 4' },
{ id: 5, label: 'Node 5' },
{ id: 6, label: 'Node 6' },
]
``
原文地址: https://www.cveoy.top/t/topic/g1MU 著作权归作者所有。请勿转载和采集!