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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
朝朝辞暮i5 分钟前
C++ 第 15 课:指针 * 和地址 &
开发语言·c++
linux_cfan8 分钟前
videojs v10 源代码系列解读:35 · HLS 解析器:multivariant 与 media playlist
前端·javascript·音视频
奶茶树9 分钟前
【C++】14. C++11新特性【下】
开发语言·c++
web打印社区11 分钟前
汽修 / 4S 店:维修工单、结算单网页怎么静默出纸
开发语言·前端·javascript·chrome·ecmascript
Sirens.14 分钟前
Java多线程实例:单例模式、阻塞队列、线程池与定时器
java·开发语言·单例模式
沫璃染墨29 分钟前
《从零入门Linux系统篇(五十三):线程篇·六——线程互斥详解:从并发问题到mutex互斥锁》
linux·运维·服务器·开发语言·后端·架构·系统架构
老王爱玩车32 分钟前
深入理解指针6
c语言·开发语言·学习
Eloudy40 分钟前
全文 - version.A - AMBA CHI Chip-to-Chip(C2C)
java·开发语言·数据库·gpu·chiplet
秋名RG1 小时前
Java历代LTS版本新特性详解(代码增强版)
java·开发语言·python
李少兄1 小时前
深度剖析 Hutool ObjectUtil
java·开发语言