zoukankan      html  css  js  c++  java
  • 遍历树结构,当节点的children为空时,删除children

    需求

    如果children为空数组,则删除children

    数据结构

    let arr2=[{
              label: '一级 1',
              children: [{
                label: '二级 1-1',
                children: []
              }]
            }, {
              label: '一级 2',
              children: [{
                label: '二级 2-1',
                children: [{
                  label: '三级 2-1-1'
                }]
              }, {
                label: '二级 2-2',
                children: [{
                  label: '三级 2-2-1'
                }]
              }]
            }, {
              label: '一级 3',
              children: []
            }]

    函数

     // children为[],则删除children键
      function deleteChildren(arr) {
          let childs = arr
          for (let i = childs.length; i--; i > 0) {
            if (childs[i].children) {
              if (childs[i].children.length) {
                this.deleteChildren(childs[i].children)
              } else {
                delete childs[i].children
              }
            }
          }
          return arr
        }

    调用

    let arrNew = deleteChildren(arr2)
    console.log(arrNew)



    转载自::https://www.jianshu.com/p/555a176bd8ee

  • 相关阅读:
    GIt-重置
    Git-对象
    Git-暂存区
    Git-Git初始化
    Git-起步
    调试九法-制造失败
    调试九法-理解系统
    readhat7.0 bond配置
    firewall-cmd 防火墙命令详解 及 TCP Wrappers
    RAID与LVM磁盘阵列技术
  • 原文地址:https://www.cnblogs.com/linhongwenBlog/p/13847734.html
Copyright © 2011-2022 走看看