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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
weixin_42220130几秒前
Element Plus中el-tree组件默认选中第一个节点的实现方法
前端·javascript·vue.js
LuminescenceJ2 分钟前
RPC通信中的Context上下文如何跨进程传递消息,gRPC为例分析
开发语言·网络·后端·网络协议·rpc·golang
css趣多多3 分钟前
组件没有原生事件
前端·javascript·vue.js
IT陈图图4 分钟前
Flutter × OpenHarmony 实战:优雅构建确认对话框的组件化方案
开发语言·javascript·flutter
雨季6665 分钟前
Flutter 三端应用实战:OpenHarmony 简易文本末尾字符查看器开发指南
开发语言·javascript·flutter
Lxinccode5 分钟前
python(70) : 网页IDE
开发语言·ide·python·网页ide
zmjjdank1ng6 分钟前
理解bash和shell
linux·运维·开发语言·bash
码界奇点7 分钟前
基于Beego v2与Go语言的网站管理后台系统设计与实现
开发语言·golang·毕业设计·go语言·源代码管理·beego
潇凝子潇8 分钟前
Arthas 火焰图的使用
开发语言·python
m0_748233178 分钟前
Laravel vs ThinkPHP:谁更适合你?
java·开发语言