递归查询树节点的完整编号

文章目录

编写背景

  由于最近需要做文件的文档归类编号管理。比较理想的情况是这样的:1个公司下有多个项目,1个项目下有多个文档。但是实际的情况却不是这样的,实际的情况是公司、项目、案卷等是一种多级无限嵌套结构,而文件挂在最终的案卷下,而此时我们需要求得此处文件的文档归类编号,以便于文件查找。而在原始的数据中,并没有此功能,也就是说根本就没有当前所要查询的树节点中的层级内节点顺序编号。

  而我的做法是这样的,既然源数据中没有层级内节点顺序编号,那就添加即可。因而我在做的时候,就是采用的sql查询,通过listNo的排序字段,保证查询出的树节点信息都是有序的,这是一个前提。然后依据此前提的背景下,通过给有效节点添加列表层级内排序属性字段listIndex,再使用递归,保证将节点树中所有的当前文件父节点编号全部查询,并拼接成自己所想要的文件分类编号。

源码

  db.js数据源

var listObj = [
    {
   
        id : '1|'
        ,name : '公司1'
        ,parentId : -1
        ,nlevel : 0
        ,listNo : 1
    }
    ,{
   
        id : '5784|'
        ,name : '公司2'
        ,parentId : -1
        ,nlevel : 0
        ,listNo : 2
    }
    ,{
   
        id : '5798|'
        ,name : '公司3'
        ,parentId : -1
        ,nlevel : 0
        ,listNo : 5799
    }
    ,{
   
        id : '5806|'
        ,name : '公司4'
        ,parentId : -1
        ,nlevel : 0
        ,listNo : 5807
    }
    ,{
   
        id : '1|2|'
        ,name : '项目1'
        ,parentId : 1
        ,nlevel : 1
        ,listNo : 2
    }
    ,{
   
        id : '1|5783|'
        ,name : '项目2'
        ,parentId : 1
        ,nlevel : 1
        ,listNo : 5783
    }
    ,{
   
        id : '1|2|3|'
        ,name : '文件1'
        ,parentId : 2
        ,nlevel : 2
        ,listNo : 3
    }
    ,{
   
        id : '1|2|5781|'
        ,name : '文件2'
        ,parentId : 2
        ,nlevel : 2
        ,listNo : 10
    }
];
var mapObj = {
   
    id : '1|2|5781|'
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值