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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
@老蝴3 小时前
C语言 — 通讯录模拟实现
c语言·开发语言·算法
涵信3 小时前
第一节 基础核心概念-TypeScript与JavaScript的核心区别
前端·javascript·typescript
小公主4 小时前
JavaScript 柯里化完全指南:闭包 + 手写 curry,一步步拆解原理
前端·javascript
♚卜卦4 小时前
面向对象 设计模式简述(1.创建型模式)
开发语言·设计模式
安全系统学习4 小时前
网络安全之RCE简单分析
开发语言·python·算法·安全·web安全
Swift社区5 小时前
Swift 解法详解:如何在二叉树中寻找最长连续序列
开发语言·ios·swift
yutian06066 小时前
C# 支持 ToolTip 功能的控件,鼠标悬停弹提示框
开发语言·microsoft·c#
byte轻骑兵6 小时前
【C++特殊工具与技术】优化内存分配(四):定位new表达式、类特定的new、delete表达式
开发语言·c++
chao_7896 小时前
标注工具核心代码解析——class AnnotationVie【canvas.py]
开发语言·python·qt5
TGB-Earnest6 小时前
【leetcode-合并两个有序链表】
javascript·leetcode·链表