es6 将树形结构变为扁平数组 不保留原数据格式
可以使用递归的方式将树形结构变为扁平数组,具体步骤如下:
-
定义一个空数组,用于存放扁平化后的数据。
-
遍历树形结构中的每一个节点,如果节点有子节点,则递归调用自身处理子节点。
-
将当前节点的数据添加到扁平化数组中。
-
返回扁平化数组。
代码如下:
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 数组即可
原文地址: https://www.cveoy.top/t/topic/g1Qb 著作权归作者所有。请勿转载和采集!