博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一段小代码, 计算树状节点的总数
阅读量:5207 次
发布时间:2019-06-14

本文共 1120 字,大约阅读时间需要 3 分钟。

使用zTree来显示文件树, 数据格式类似于:

1 var data = { 2     id: 1, 3     children: [ 4         { 5             id: 2, 6             children: [ 7                 { 8                     id: 3, 9                     children: [10                         {11                             id: 8,12                             children: []13                         },14                     ]15                 },16                 {17                     id: 5,18                     children: []19                 }20             ]21         },22         {23             id: 4,24         },25         {26             id: 6,27             children: []28         },29         {30             id: 7,31             children: []32         }33     ],34 }

 

 

一则小问题, 如何计算节点总数.

当然是递归了那么, 思路就是 total = 1 + iter(children),  1代表节点本身.

核心代码3行就够了.

1 function counter(data) {2     // total = self + count(children);3     if (typeof data.children === "undefined") {4         return 1;5     }6     return 1 + data.children.reduce(function (prev, item) {7         return prev + counter(item);8     }, 0);9 }

 

转载于:https://www.cnblogs.com/tangkikodo/p/6125890.html

你可能感兴趣的文章
Intellij idea
查看>>
WEB_点击一百万次
查看>>
word20161228
查看>>
CodeForces - 878A Short Program(位运算)
查看>>
Mysql聚簇索引和非聚簇索引
查看>>
Hive入门之UDFS函数
查看>>
python文件操作笔记
查看>>
泛型委托
查看>>
笔试题拾遗
查看>>
与虚拟机Oracle连接出现ora-12154问题的解决
查看>>
JavaScript对象(一)
查看>>
Sublime View In Browser
查看>>
linux下可执行程序如何定位共享库文件以及如何让系统找到用户指定的库
查看>>
FPGA机器学习之机器学习的n中算法总结1
查看>>
Bootstrap的js插件之轮播(carousel)
查看>>
linux自旋锁
查看>>
路冉的JavaScript学习笔记-2015年1月23日
查看>>
IPTABLES详解
查看>>
Linux 下tomcat 的重新启动
查看>>
利用node js 来创建一个服务器
查看>>