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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
我是人机不吃鸭梨21 小时前
Flutter 桌面端开发终极指南(2025版):构建跨平台企业级应用的完整解决方案
开发语言·javascript·人工智能·flutter·架构
Gogym21 小时前
解决vue axios提交日期,服务器接收少一天的问题
前端·javascript·vue.js
夏幻灵21 小时前
[从零开始学JAVA|第一篇 ] 分清关键字 方法名 字面量 标识符
java·开发语言
小徐Chao努力21 小时前
【Langchain4j-Java AI开发】03-提示词与模板
java·开发语言·人工智能
Aliex_git21 小时前
Vue2 - Watch 侦听器源码理解
前端·javascript·vue.js·笔记·学习
cike_y21 小时前
Spring5入门&IOC容器
java·开发语言·spring·jdk·ioc·jdk1.8
你疯了抱抱我21 小时前
【QQ】空间说说批量删除脚本(不用任何额外插件,打开F12控制台即可使用)
开发语言·前端·javascript
鹏北海21 小时前
Single-SPA 学习总结
前端·javascript·微服务
沐知全栈开发21 小时前
Web 词汇表
开发语言
程芯带你刷C语言简单算法题21 小时前
Day37~求组合数
c语言·开发语言·学习·算法·c