首页 > 其他分享 >记录一下,把tree中的部分数据剔除

记录一下,把tree中的部分数据剔除

时间:2024-09-12 10:02:44浏览次数:10  
标签:index name 第三层 记录 tree item score 剔除 children

 

 

<script setup lang="ts">
import { js_beautify as beautify } from "js-beautify";
import hljs from "highlight.js";
import "highlight.js/styles/atom-one-dark.css";

const tree = ref([
  {
    name: "第一层",
    score: 44,
    children: [
      {
        name: "第二层",
        score: 9,
        children: [
          {
            name: "第三层",
            score: 6,
          },
          {
            name: "第三层",
            score: 3,
          },
          {
            name: "第三层",
            score: 10,
          },
          {
            name: "第三层",
            score: 11,
          },
        ],
      },
      {
        name: "第二层",
        score: 5,
      },
      {
        name: "第二层",
        score: 30,
        children: [
          {
            name: "第三层",
            score: 15,
          },
          {
            name: "第三层",
            score: 11,
          },
          {
            name: "第三层",
            score: 15,
          },
        ],
      },
    ],
  },
]);

const deep = (list = [], parent = null) => {
  let total = 0;
  let index = list.length - 1;
  while (index >= 0) {
    const item = list[index];
    if (item && item.children) {
      deep(item.children, item);
    }
    if (item.score < 10) {
      list.splice(index, 1);
    } else {
      total += item.score;
    }

    index--;
  }

  if (parent) {
    parent.score = total;
  }
};

deep(tree.value, null);

const treeDataJson = computed(() => {
  const options = {
    indent_size: 4,
    space_in_empty_paren: true,
    preserve_newlines: false,
    brace_style: "expand",
  };
  return beautify(JSON.stringify(tree.value), options);
});

onMounted(() => {
  hljs.highlightAll();
});
</script>

<template>
  <div style="height: 100%; overflow-y: auto; width: 100%">
    <pre><code class="language-javascript"> {{ treeDataJson }}</code></pre>
  </div>
</template>

<style scoped lang="scss"></style>

 

剔除后的结果

 

 

标签:index,name,第三层,记录,tree,item,score,剔除,children
From: https://www.cnblogs.com/yeminglong/p/18409621

相关文章

  • TreeMap源码详解—彻底搞懂红黑树的平衡操作
    介绍TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说TreeSet里面有一个TreeMap(适配器模式)。JavaTreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(naturalordering),也可以通......
  • 树(tree)和哈希算法(Hash)
    树由n个节点组成的有限集。有一个根节点;其他节点只有一个前驱节点,但可以有多个后继节点。叶子节点(终端结点):只有前驱结点没有后继结点结点度:子节点的个数称之为度树的(广)度:树中各节点度的最大值 深度:从根节点到最底层节点的层数森林:n个互不相交的树的集合二叉树:任意一个节点......
  • TreeMap源码详解—彻底搞懂红黑树的平衡操作
    介绍TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说TreeSet里面有一个TreeMap(适配器模式)。JavaTreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(naturalordering),也可以......
  • 想想都可怕,恢复微信聊天记录原来这么简单
    互联网时代,尤其是微信聊天记录对部分人来说至关重要,在平时在使用微信时,会随手删掉暂时不用的好友的对话框,等回过神才发现,聊天记录也被顺手清空了,而有些好友的聊天记录很重要,可能是合同细节,或是有转账凭证等,要是一不小心删除了重要的聊天记录怎么找回呢?没想到恢复方法竟然这么简......
  • logging模块用于记录日志的标准库
    日志级别是监控和调试软件系统的关键组成部分,它们帮助开发者和运维人员区分不同严重程度的信息,从而更有效地响应和解决问题。以下是日志级别的详细说明及如何在Python中使用它们的示例。日志级别分类日志级别按严重程度从低到高排序如下:DEBUG:用于记录详细的调试信息,通常在开......
  • Arch Linux 安装记录
    ArchLinux个人直接在arch中使用arch-install-scripts安装新系统,一些前面的步骤没有记录。其中的步骤可以用GUI软件逃课。分区和格式化可以使用partitionmanager(Linux)、diskgenius(Windows)等GUI软件一键分区。partitionmanager在安装btrfs-progs后可以格式化分区为......
  • 《人工智能教育技术学》收获记录1
    2024年9月10日,人工智能教育技术学第二节课,感谢王老师耐心指导我们注册博客园,才有以下我发布的这条内容。本节课,我主要收获了关于我们手中搜索引擎如何使用的知识。搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服......
  • 【C#生态园】高效管理日志:C# 开发者不可错过的六大日志记录库
    C#日志记录库大比拼:选择最适合你的工具前言在C#应用程序开发过程中,日志记录是一个至关重要的方面。它不仅可以帮助开发人员跟踪应用程序的运行状态和故障信息,还能为用户提供更好的支持和维护服务。本文将介绍几个流行的C#日志记录库,包括Serilog、NLog、Log4net、Elm......
  • 打靶记录17——pyexpvm
    注意:使用VMWare打开靶机,不要使用VirtualBox打开,因为作者设计的就是使用VMware的靶机(中等难度):https://download.vulnhub.com/pyexp/pyexpvm.zip目标:取得root权限+2Flag攻击方法:主机发现端口扫描信息收集SSH密码爆破Mysql密码爆破Mysql执行代码编写......
  • LeetCode Hot100刷题记录-141.环形链表
    给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的......