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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
怀旧,13 小时前
【C++】20. unordered_set和unordered_map
开发语言·c++
alibli13 小时前
一文学会CMakeLists.txt: CMake现代C++跨平台工程化实战
开发语言·c++·系统架构
艾小码14 小时前
Vue模板进阶:这些隐藏技巧让你的开发效率翻倍!
前端·javascript·vue.js
艾小码14 小时前
还在手动加载全部组件?这招让Vue应用性能飙升200%!
前端·javascript·vue.js
三十_14 小时前
【实录】多 SDK 日志乱象的解决方案:统一日志 SDK 设计分享
前端·javascript
Samsong14 小时前
JavaScript逆向之对称加密算法
javascript·逆向
一枚前端小能手14 小时前
🛡️ Token莫名其妙就泄露了?JWT安全陷阱防不胜防
前端·javascript·安全
Florence2314 小时前
GPU硬件架构和配置的理解
开发语言
李游Leo14 小时前
JavaScript事件机制与性能优化:防抖 / 节流 / 事件委托 / Passive Event Listeners 全解析
开发语言·javascript·性能优化
复苏季风14 小时前
Vue3 小白的疑惑:为什么用 const 定义的变量还能改?
前端·javascript·vue.js