tree数据处理

news2024/11/18 3:47:21

接口获取数据oldArr

[
  {
    "deptCode": "01",
    "parentCode": "000",
    "sortKey": 4,
    "deptName": "办公室(党委办公室、董事会办公室)",
    "children": [
      {
        "deptCode": "0101a",
        "parentCode": "01",
        "sortKey": 999,
        "deptName": "董事监事"
      },
      {
        "deptCode": "0104",
        "parentCode": "01",
        "sortKey": 999,
        "deptName": "总部"
      },
      {
        "deptCode": "0100",
        "parentCode": "01",
        "sortKey": 999,
        "deptName": "公司领导"
      },
      {
        "deptCode": "0107",
        "parentCode": "01",
        "sortKey": 999,
        "deptName": "汽车队"
      }
    ]
  }
]

处理后的数据newArr

[
    {
        "label": "全部部门",
        "value": "0"
    },
    {
        "label": "办公室(党委办公室、董事会办公室)",
        "value": "01",
        "children": [
            {
                "label": "全部部门",
                "value": "0"
            },
            {
                "label": "董事监事",
                "value": "0101a"
            },
            {
                "label": "总部",
                "value": "0104"
            },
            {
                "label": "公司领导",
                "value": "0100"
            },
            {
                "label": "汽车队",
                "value": "0107"
            }
        ]
    }
]

处理方法formaterDe

this.newArr = this.formaterDe(this.oldArr)
  formaterDe(arr = [], key = 'deptName', keys = 'deptCode') {
      return [{ label: key == 'deptName' ? "全部部门" : '全部员工', value: "0" }, ...(arr.map(a => {
        let obj = {};
        obj.label = a[key];
        obj.value = `${a[keys]}`;
        if (a.children) obj.children = this.formaterDe(a.children);
        return obj;
      }))];
    },

效果图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1386338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九、Qt C++ 毕业设计 数据库相关

《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》 《七、Qt 信号和槽》 《八、Qt C 毕业设计-CSDN博客》 …

从JVM角度对java中引用的理解

学java这么久了,对java引用越来越深刻,好好梳理一下下面三个问题,带着问题进行理解。 什么是引用?引用存放在jvm哪个区域? 引用是一种变量类型。引用类型占四个字节。 变量类型分为基本类型和引用类型。 我们知道jav…

2023年跨国企业如何实现跨境数据传输合规化(上)

一、什么是数据跨境传输? 首先了解一个概念,什么是数据跨境传输? 数据跨境传输简单概括就是指信息通过互联网等网络媒介,在跨国企业之间进行传递和交换的过程。 有一则官方网站关于全球化数字化的数据统计:仅2019 年…

【Web】什么是 XSS 攻击,如何避免?

🍎个人博客:个人主页 🏆个人专栏:Web ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 常见方法: 结语 我的其他博客 前言 在当今数字化时代,网络安全成为信息技术领域中的一项至关重要的任务。X…

视频和音频怎么合并在一起?分享3个轻松合并的实用技巧

视频和音频怎么合并在一起?在数字媒体时代,视频和音频是制作多媒体内容不可或缺的元素。有时我们需要将视频和音频合并在一起,以创建更丰富、更有趣的多媒体内容。那么,如何将视频和音频合并在一起呢?下面将介绍一些实…

NLP论文阅读记录 - 2022 | WOS 用于摘要法律文本的有效深度学习方法

文章目录 前言0、论文摘要一、Introduction1.1目标问题 二.相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结 前言 Effective deep learning approaches for summarization of legal texts(22&#x…

第一个Python程序_获取网页 HTML 信息[Python爬虫学习笔记]

使用 Python 内置的 urllib 库获取网页的 html 信息。注意,urllib 库属于 Python 的标准库模块,无须单独安装,它是 Python 爬虫的常用模块。 获取网页 HTML 信息 1) 获取响应对象 向百度(http://www.baidu.com/)发起…

计算3种颜色粉刷立方体的所有可能方法

“(伯恩赛德引理)设G是一个作用在有限集合X上的有限群,令N为轨道的个数,则 其中Fix(x)是被τ固定的x∈X的个数.“ *高等近世代数 Joseph J. Rotman P78 “设G是一个有限群,作用在集合X上。对每个g属于G令X^g表示X中在g…

电力能源监测管理系统,在医院中有哪些作用?

随着经济全球化的发展,节能减排成为当前社会发展必须关注的问题。电力能源监测管理系统,可以分析电力管理能源的现状,并根据现状提出对应的策略,为快速高效建成绿色智能化医院提供有力支撑和技术保障。 医院能源管理现状 1、人力…

linux 网络文件共享服务

存储类型 DAS 直连式存储 SAN 存储区域网络 NAS 网络附近存储 FTP文件传输协议 文件传输协议 FTP 早期的三个应用级协议之一,基于c/s架构 数据传输格式:二进制(默认)和文本 tcp 21端口(权限,…

uniapp 如何使用echarts 以及解决tooltip自定义不生效问题

使用的是echarts-for-wx插件&#xff1b; 正常写法案例&#xff1a;给tooltip数值加个% <template><view><uni-ec-canvas class"uni-ec-canvas"id"uni-ec-canvas"ref"canvas"canvas-id"uni-ec-canvas":ec"ec&quo…

Android-网络基础

http 与 https 的区别&#xff1f;https 是如何工作的&#xff1f; http 是超文本传输协议&#xff0c;而 https 可以简单理解为安全的 http 协议。https 通过在 http 协议下添加了一层 ssl 协议对数据进行加密从而保证了安全。https 的作用主要有两点&#xff1a;建立安全的信…

使用WAF防御网络上的隐蔽威胁之CSRF攻击

在网络安全领域&#xff0c;除了常见的XSS&#xff08;跨站脚本&#xff09;攻击外&#xff0c;CSRF&#xff08;跨站请求伪造&#xff09;攻击也是一种常见且危险的威胁。这种攻击利用用户已经验证的身份在没有用户知情的情况下&#xff0c;执行非授权的操作。了解CSRF攻击的机…

WPF实现右键选定TreeViewItem

在WPF中&#xff0c;TreeView默认情况是不支持右键选定的&#xff0c;也就是说&#xff0c;当右键点击某节点时&#xff0c;是无法选中该节点的。当我们想在TreeViewItem中实现右键菜单时&#xff0c;往往希望在弹出菜单的同时选中该节点&#xff0c;以使得菜单针对选中的节点生…

PD虚拟机启动系统提示”网络初始化失败”的解决方法

问题原因&#xff1a;缺少一个系统权限造成的。 解决方法 先关闭所有PD虚拟机进程&#xff0c;打开【访达】右键–前往文件夹–复制下方路径 /Library/Preferences/Parallels 找到这个文件network.desktop.xml &#xff0c;拖到桌面上用记事本打开。 保存时会提示输入密码&am…

C# .net core WebApi Swagger配置

一. 支持注释 1.首先进行项目的创建&#xff0c;我这边以.net 7 为例来进行解说&#xff0c;因为.net 7中没有startup.cs文件&#xff0c;startup.cs文件已与program.cs文件进行了合并&#xff0c;我们来配置program.cs文件来让Swagger文档支持控制器的注释以及操作方法的注释…

TabLayout去除点击时的波纹效果

需求&#xff1a;去除com.google.android.material.tabs.TabLayout手指点击时产生的波纹效果 解决办法&#xff1a; xml中增加 app:tabBackground"null" app:tabRippleColor"null" 注意&#xff1a;Java/kotlin代码中不要设置这两个属性了。

IOS自动化测试元素定位

一、元素属性介绍 1、元素属性 2、查看各定位方式执行效率 二、iOS常用定位方法 1、accessibility_id 2、class_name 3、Xpath 4、ios_class_chain(类型链) 5、ios_predicate(谓词) 一个页面最基本组成单元是元素&#xff0c;想要定位一个元素&#xff0c;我们需…

线性表 | 双向链表

双向链表 双向循环链表