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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
洛阳吕工几秒前
【Python 教程】无人机 MAVLink 通信完整实战:连接飞控、接收数据与发送指令
开发语言·python·无人机
小辉同志几秒前
79. 单词搜索
开发语言·c++·leetcode·回溯
娇娇爱吃蕉蕉.1 分钟前
类和对象的默认成员函数
c语言·开发语言·c++·算法
小白学大数据6 分钟前
Python requests + BeautifulSoup 爬取豆瓣电影图片
开发语言·python·beautifulsoup
早點睡3907 分钟前
ReactNative项目OpenHarmony三方库集成实战:react-native-inappbrowser(也可以考虑WebView)
javascript·react native·react.js
北风toto8 分钟前
Vue多文件学习项目综合案例——面经基础版,黑马vue教程
javascript·vue.js·学习
浪扼飞舟1 小时前
WPF输入验证(ValidationRule)
java·javascript·wpf
她说..8 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow9 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px9 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器