树形数据保留指定层级

分享一个今天在开发中遇到的问题,要处理一个树形数据,只想保留前两层,两层再往下的数据就不要了,简单可以理解为:树形数据保留指定层级。

主要思路还是递归,代码封装成了公共方法,方便以后用的时候直接调用:

/**
 * @description 树形数据保留指定层级
 * @param data
 * @param level
 * @return {*[]|*}
 */
const keepNodesAtLevel = (data, level) => {
  if (level == 1) {
    return data.map((node) => {
      return {
        value: node.value,
        label: node.label
      }
    })
  }
  let result = []
  for (let i = 0; i < data.length; i++) {
    let node = data[i]
    if (node.children) {
      node.children = keepNodesAtLevel(node.children, level - 1)
    }
    result.push(node)
  }
  return result
}

相关推荐

  1. 树形数据保留指定层级

    2024-04-26 13:36:04       35 阅读
  2. mysql每天自动将数据库数据保存指定文件夹

    2024-04-26 13:36:04       36 阅读
  3. 数字转换(树形DP)

    2024-04-26 13:36:04       25 阅读
  4. 数据结构之树形结构

    2024-04-26 13:36:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 13:36:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 13:36:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 13:36:04       87 阅读
  4. Python语言-面向对象

    2024-04-26 13:36:04       96 阅读

热门阅读

  1. HTML

    2024-04-26 13:36:04       36 阅读
  2. 第30章 市场营销

    2024-04-26 13:36:04       37 阅读
  3. 牛客周赛 Round 40(补题)C题

    2024-04-26 13:36:04       39 阅读
  4. DIY高考倒计时小软件python实现

    2024-04-26 13:36:04       26 阅读
  5. 【数据结构】单链表的尾插法

    2024-04-26 13:36:04       36 阅读
  6. 08.OSPF的特殊区域及其特点

    2024-04-26 13:36:04       34 阅读
  7. Pytorch:模块(Module类)

    2024-04-26 13:36:04       40 阅读
  8. C#鼠标拖拽无边框浮动窗体的方法:窗体控制

    2024-04-26 13:36:04       33 阅读
  9. 【模型渲染】前端如何让glb模型转3dtiles

    2024-04-26 13:36:04       35 阅读
  10. 【OceanBase诊断调优 】—— 索引调优

    2024-04-26 13:36:04       34 阅读