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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
伯远医学3 分钟前
RIP-seq 高分文献案例分享
java·前端·javascript·人工智能·算法·eclipse·html
Hilaku9 分钟前
Web Components 为什么火不起来?
前端·javascript·程序员
问君能有几多愁~17 分钟前
Qt Json 序列化操作
开发语言·qt·json
vancece23 分钟前
JS实现堆 & 215.数组中的第K个最大元素
java·前端·javascript
xieliyu.24 分钟前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql
格林威36 分钟前
C#高位深相机图像保存:12位16位图像保存方案,OpenCvSharp和Halcon实现
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小小龙学IT38 分钟前
Qt Graphics View Framework(图形视图框架)深度解析:从 Scene/View/Item 到工业级 2D 场景
开发语言·数据库·qt
2601_966949651 小时前
Python 量化数据质量校验:如何确保股票历史日线数据不存在缺失交易日?
开发语言·人工智能·爬虫·python·量化策略·量化·quantdash
qq_316837751 小时前
uniapp 安卓/H5 使用 contentEditable 属性 富文本编辑器
android·javascript·uni-app
yuqifang1 小时前
var deferred = jQuery.Deferred(); 使用示例
前端·javascript·面试