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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
宠..7 分钟前
安装 Qt VS Tool 插件
开发语言·qt
我叫张小白。7 分钟前
Vue3 基本生命周期:组件的一生之旅
前端·javascript·vue.js·前端框架·vue3
QH_ShareHub15 分钟前
R 包中的生命周期触发函数全解析
前端·javascript·数据库
未来之窗软件服务19 分钟前
幽冥大陆(三十九)php二维数组去重——东方仙盟筑基期
android·开发语言·算法·php·仙盟创梦ide·东方仙盟·东方仙盟sdk
AI3D_WebEngineer20 分钟前
企业级业务平台项目设计、架构、业务全解之平台篇
前端·javascript·vue
程序猫.22 分钟前
Java零基础入门:集合进阶(下)
java·开发语言
菜鸟-0127 分钟前
QT:BMS_TTL
开发语言·qt
sali-tec31 分钟前
C# 基于halcon的视觉工作流-章65 点云匹配-基于形状
开发语言·人工智能·算法·计算机视觉·c#
不会c嘎嘎37 分钟前
【C++】深入理解多态:从用法到原理
开发语言·c++
汤姆Tom38 分钟前
前端转战后端:JavaScript 与 Java 对照学习指南 (第二篇 - 基本数据类型对比)
java·javascript·全栈