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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
我这一生如履薄冰~1 分钟前
浏览器多窗口同开一页面,数据同步更新(纯前端方案)
前端·javascript
Rkgua10 分钟前
实例成员和静态成员在对象中的用法
javascript
Momo__10 分钟前
Web Speech API 语音识别与合成详解
前端·javascript
曹牧12 分钟前
Java Web:DispatcherServlet
java·开发语言·前端
hehelm15 分钟前
C++ 模拟实现 AVL 树
开发语言·c++
李日灐16 分钟前
< 7 > Linux 开发工具:git 版本控制器 和 cgdb/gdb 调试器
linux·运维·服务器·开发语言·git·调试器·gdb/cgdb
FlyWIHTSKY23 分钟前
在 **Element Plus 中,`el-aside` 关闭后**仍然占位置**,通常是因为 **它没有被销毁或宽度没有变为 0**。
前端·javascript·vue.js
会编程的土豆23 分钟前
洛谷题单 入门1 顺序结构(go语言)
开发语言·后端·golang·洛谷
jieyucx24 分钟前
Go 语言 switch 条件语句详解
开发语言·c++·golang
AC赳赳老秦24 分钟前
网安工程师提效:用 OpenClaw 实现漏洞扫描报告生成、安全巡检自动化、日志合规审计
java·开发语言·前端·javascript·python·deepseek·openclaw