js 获取树节点上某节点的最底层叶子节点数据

效果图

数据为某一个节点对象

递归代码

javascript 复制代码
function getLeafNodes(node) {
  if (!node.children || node.children.length === 0) {
    // 如果是叶子节点,返回它的数据
    return [node.data];
  }
  // 如果节点有子节点,递归获取所有叶子节点的数据
  return node.children.flatMap(getLeafNodes);
}

flatMap方法:使用映射函数映射每个元素,然后将结果压缩成一个新数组

之前有个面试题,让把上面的多维数组转换为一维数组,我在那递归,傻批一个,被自己蠢死。每天一个知识点get!

相关推荐
张张努力变强2 分钟前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
xyq20244 分钟前
Matplotlib 绘图线
开发语言
m0_694845578 分钟前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
春日见13 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
C++ 老炮儿的技术栈16 分钟前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
派葛穆23 分钟前
Python-批量安装依赖
开发语言·python
MSTcheng.35 分钟前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
晓131337 分钟前
第七章 【C语言篇:文件】 文件全面解析
linux·c语言·开发语言
愚者游世38 分钟前
Delegating Constructor(委托构造函数)各版本异同
开发语言·c++·程序人生·面试·改行学it
梵刹古音40 分钟前
【C语言】 指针基础与定义
c语言·开发语言·算法