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

效果图

数据为某一个节点对象

递归代码

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

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

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

相关推荐
Lee川7 分钟前
探索JavaScript的秘密令牌:独一无二的`Symbol`数据类型
javascript·面试
Lee川8 分钟前
深入浅出JavaScript事件机制:从捕获冒泡到事件委托
前端·javascript
光影少年8 分钟前
async/await和Promise的区别?
前端·javascript·掘金·金石计划
codingWhat15 分钟前
如何实现一个「万能」的通用打印组件?
前端·javascript·vue.js
前端Hardy3 小时前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy3 小时前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js
csdn飘逸飘逸4 小时前
Autojs基础-用户界面(ui)
javascript
炫饭第一名4 小时前
速通Canvas指北🦮——图形、文本与样式篇
前端·javascript·程序员
进击的尘埃4 小时前
React useEffect 的闭包陷阱与竞态条件:你以为的 cleanup 真的在正确时机执行了吗
javascript
进击的尘埃4 小时前
TypeScript 类型体操进阶:用 Template Literal Types 实现编译期路由参数校验
javascript