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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
济南壹软网络科技有限公司14 小时前
基于 UniApp + PHP 的壹软V4Max旗舰盲盒商城系统技术实现方案
开发语言·uni-app·php·盲盒源码
2401_8604947014 小时前
在React Native鸿蒙跨平台开发中实现一个计数排序算法,如何使用一个额外的数组来统计每个值的出现次数,然后根据这个统计结果来重构原数组的顺序
javascript·react native·react.js·重构·ecmascript·排序算法
小猪快跑爱摄影14 小时前
【AutoCad 2025】【C#】零基础教程(一)——Rider 构建 HELLO 插件
开发语言·c#
小年糕是糕手14 小时前
【C++】内存管理(上)
java·开发语言·jvm·c++·算法·spring·servlet
222you14 小时前
vue目录文件夹的作用
前端·javascript·vue.js
shenzhenNBA14 小时前
如何用python生成一定规则的序列号?
开发语言·python·sn·序列号
沐知全栈开发14 小时前
SQL CHECK约束的使用与优势
开发语言
csbysj202014 小时前
Highcharts 散点图
开发语言
程序员三明治14 小时前
【Java基础】序列化到底是什么?有什么用?实现原理?
java·开发语言·后端·java基础·序列化·反序列化
pale_moonlight14 小时前
十、Scala应用实践(下)
linux·开发语言·scala