美文网首页
如何统计tree每一级的个数?

如何统计tree每一级的个数?

作者: 姜治宇 | 来源:发表于2023-03-07 14:46 被阅读0次

统计总数

对于带有children的结构性数据,如果是统计总数,我们可以用全部展平的方式,然后拿到展平数组长度即可。

  function flatData(arr, newArr: any = []) {
    //递归展平数据,统计数量
    if (arr && Array.isArray(arr)) {
      for (const item of arr) {
        if (item.children) {
          this.flatData(item.children, newArr);
        } else {
          newArr.push(item);
        }
      }
    }
  }

统计每一级的个数

如果统计每一级的个数,注意要把非叶子节点排除掉。

 function  getLeafCount(arr, lastItem: any = null) { //累加结果

    if (arr && Array.isArray(arr)) {
      for (const item of arr) {
        if (item.children) {
          if (!item.count) {
            item.count = 0;
            
          }
          
          item.count += (item.children.filter(v=>v.isLeaf)).length;
          if (lastItem && lastItem.count) {
            lastItem.count += item.count;
          }

          this.getLeafCount(item.children, item);
        }
      }
    }
  }

相关文章

  • 如何统计tree每一级的个数?

    统计总数 对于带有children的结构性数据,如果是统计总数,我们可以用全部展平的方式,然后拿到展平数组长度即可...

  • SWAR算法:统计bitmap中1的个数

    算法核心思想:分治法,第一次统计每2位的1的个数,第二次统计每4位1的个数,第三次统计每8位1的个数,依次相加即可...

  • EXCEL如何统计个数

    首先打开你所要进行操作的excel表格 数据区域中单元格不为空的个数: A1:A5中共有四个不为空的单元格,利用函...

  • 统计个数

    另一种写法 python脚本

  • 数据库索引为什么使用B+树?

    概述 B tree: 二叉树(Binary tree),每个节点只能存储一个数。B-tree:B树(B-Tree...

  • ubuntu下统计目录下的文件个数和快速删除

    统计目录下的文件个数不包含文件夹: 统计目录下的文件个数包括子目录: 统计目录下文件夹(目录)的个数: 统计某种文...

  • iOS面试题

    1.NSString如何计算字符的个数? 应该是用countElements的函数来统计字符串所包含的字符个数,把...

  • 统计字符个数

    题目:给定一个字符串(只可能包含英文字母、数字、空格),分别统计出其中英文字母、空格、数字的个数。

  • 统计文件个数

    1.【linux命令】 统计一个文件夹下有多少个文件 python实现:非递归,只能查询到当前文件夹下的,不能查询...

  • 统计重复个数

    题目: 题目的理解: 先看具体说明 查询循环体,从第a个s1开始找到循环体,b个s1包含c个s2。a中包含A个s2...

网友评论

      本文标题:如何统计tree每一级的个数?

      本文链接:https://www.haomeiwen.com/subject/zscbldtx.html