效果图
数据为某一个节点对象
递归代码
function getLeafNodes(node) {
if (!node.children || node.children.length === 0) {
// 如果是叶子节点,返回它的数据
return [node.data];
}
// 如果节点有子节点,递归获取所有叶子节点的数据
return node.children.flatMap(getLeafNodes);
}
flatMap方法:使用映射函数映射每个元素,然后将结果压缩成一个新数组
之前有个面试题,让把上面的多维数组转换为一维数组,我在那递归,傻批一个,被自己蠢死。每天一个知识点get!