当前位置: 首页 > news >正文

根据后台数据结构,构建搜索目录树

效果图:

数据源

const data = [{"categoryidf": "761525000288210944","categoryids": "766314364226637824","menunamef": "经济运行","menunames": "经济运行总览","tempname": "南沙区XXXX年XX季度经济运行情况及存在问题","tempid": "787314277060055040","show_orderf": 2,"show_orderss": 1},{"categoryidf": "761525000288210944","categoryids": "766314364226637824","menunamef": "经济运行","menunames": "经济运行总览","tempname": "报告模板","tempid": "805483785230618624","show_orderf": 2,"show_orderss": 1},{"categoryidf": "761525000288210944","categoryids": "766314364226637824","menunamef": "经济运行","menunames": "经济运行总览","tempname": "南沙区经济运行分析报告-开发中勿删","tempid": "766692223369744384","show_orderf": 2,"show_orderss": 1},{"categoryidf": "761560904969097216","categoryids": "787329448503545856","menunamef": "宏观经济","menunames": "地区生产总值","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 1},{"categoryidf": "761560904969097216","categoryids": "787329962872016896","menunamef": "宏观经济","menunames": "行业总览","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 2},{"categoryidf": "761560904969097216","categoryids": "787330410567831552","menunamef": "宏观经济","menunames": "工业","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 3},{"categoryidf": "761560904969097216","categoryids": "787330779163267072","menunamef": "宏观经济","menunames": "商贸业","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 4},{"categoryidf": "761560904969097216","categoryids": "787331288074948608","menunamef": "宏观经济","menunames": "服务业","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 5},{"categoryidf": "761560904969097216","categoryids": "787331500218650624","menunamef": "宏观经济","menunames": "房地产开发业","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 6},{"categoryidf": "761560904969097216","categoryids": "787331766636646400","menunamef": "宏观经济","menunames": "建筑业","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 7},{"categoryidf": "761560904969097216","categoryids": "787332016487141376","menunamef": "宏观经济","menunames": "进出口","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 8},{"categoryidf": "761560904969097216","categoryids": "787332232145670144","menunamef": "宏观经济","menunames": "固定资产投资","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 9},{"categoryidf": "761560904969097216","categoryids": "787332439809855488","menunamef": "宏观经济","menunames": "派生产业","tempname": null,"tempid": null,"show_orderf": 3,"show_orderss": 10},{"categoryidf": "767696419078410240","categoryids": null,"menunamef": "营商环境","menunames": null,"tempname": null,"tempid": null,"show_orderf": 4,"show_orderss": 0},{"categoryidf": "763705116242087936","categoryids": null,"menunamef": "数字经济","menunames": null,"tempname": null,"tempid": null,"show_orderf": 5,"show_orderss": 0},{"categoryidf": "763705094125522944","categoryids": "787332966232756224","menunamef": "产业经济","menunames": "产业总览","tempname": null,"tempid": null,"show_orderf": 5,"show_orderss": 1},{"categoryidf": "763705094125522944","categoryids": "807545774656327680","menunamef": "产业经济","menunames": "产业链图谱","tempname": "系列产业研究报告标准版本","tempid": "807546080970543104","show_orderf": 5,"show_orderss": 2},{"categoryidf": "763705094125522944","categoryids": "787333327861452800","menunamef": "产业经济","menunames": "人才和创新资源","tempname": null,"tempid": null,"show_orderf": 5,"show_orderss": 3},{"categoryidf": "767696724260163584","categoryids": null,"menunamef": "企业发展","menunames": null,"tempname": null,"tempid": null,"show_orderf": 6,"show_orderss": 0},{"categoryidf": "767696857580310528","categoryids": "777906003562860544","menunamef": "智慧招商","menunames": "演示","tempname": "南沙区经济运行分析报告-演示使用勿删","tempid": "777906168692609024","show_orderf": 7,"show_orderss": 2},{"categoryidf": "786523422359425024","categoryids": null,"menunamef": "经济韧性评估","menunames": null,"tempname": null,"tempid": null,"show_orderf": 8,"show_orderss": 0}]

转换为树目录结构

// 定义一个函数来构建层级结构
function buildHierarchy(data: any[]): any[]{const hierarchy: any[] = [];const map = new Map<string, any>();console.log('map',map);// 遍历数据,构建 mapdata.forEach(item => {if (!map.has(item.menunamef)) {map.set(item.menunamef, {key:item.categoryidf,label: item.menunamef,children: []});hierarchy.push(map.get(item.menunamef));}if (item.menunames) {const parent = map.get(item.menunamef);if (!parent.children.find(child => child.label === item.menunames)) {parent.children.push({key:item.categoryids,label: item.menunames,children: []});}}if (item.tempname) {const parent = map.get(item.menunamef);const subParent = parent.children.find(child => child.label === item.menunames);if (subParent) {subParent.children.push({label: item.tempname,key: item.tempid});} else {parent.children.push({label: item.tempname,key: item.tempid});}}});return hierarchy;
}const result = buildHierarchy(data);

相关文章:

根据后台数据结构,构建搜索目录树

效果图&#xff1a; 数据源 const data [{"categoryidf": "761525000288210944","categoryids": "766314364226637824","menunamef": "经济运行","menunames": "经济运行总览","tempn…...

食品计算—FoodSAM: Any Food Segmentation

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…...

2411rust,1.83

原文 1.83.0稳定版 新的常能力 此版本包括几个说明在常环境中运行代码可干的活的大型扩展.这是指编译器在编译时必须计算的所有代码:常和静项的初值,数组长度,枚举判定值,常模板参数及可从(constfn)此类环境调用的函数. 引用静.当前,除了静项的初化器式外,禁止常环境引用静…...

tomcat加载三方包顺序

共享库 tomcat支持多个webapp共享一个三方库&#xff0c;而不需要每个webapp都引入该三方库 tomcat加载类顺序 bootstrap&#xff1a;加载jvm提供的类system&#xff1a;加载$CATALINA_HOME/bin下的bootstrap.jar,commons-daemon.jar,tomcat-juli.jar三个包//加载$CLASSPATH…...

计算机的错误计算(一百七十一)

摘要 探讨 MATLAB 中秦九韶&#xff08;Horner&#xff09;多项式的错误计算。 例1. 用秦九韶&#xff08;Horner&#xff09;算法计算&#xff08;一百零七&#xff09;例1中多项式 直接贴图吧&#xff1a; 这样&#xff0c;MATLAB 给出的仍然是错误结果&#xff0c;因为准…...

js对于json的序列化、反序列化有哪几种方法

在JavaScript中&#xff0c;对JSON&#xff08;JavaScript Object Notation&#xff09;进行序列化&#xff08;将对象转换为JSON字符串&#xff09;和反序列化&#xff08;将JSON字符串转换为对象&#xff09;是常见的操作。以下是一些常用的方法&#xff1a; 序列化&#xf…...

Linux——基础命令(2) 文件内容操作

目录 ​编辑 文件内容操作 1.Vim &#xff08;1&#xff09;移动光标 &#xff08;2&#xff09;复制 &#xff08;3&#xff09;剪切 &#xff08;4&#xff09;删除 &#xff08;5&#xff09;粘贴 &#xff08;6&#xff09;替换,撤销,查找 &#xff08;7&#xff…...

简单搭建qiankun的主应用和子应用并且用Docker进行服务器部署

在node18环境下&#xff0c;用react18创建qiankun主应用和两个子应用&#xff0c;react路由用V6版本&#xff0c;都在/main路由下访问子应用&#xff0c;用Dockerfile部署到腾讯云CentOS7.6服务器的8000端口进行访问&#xff0c;且在部署过程中进行nginx配置以进行合理的路由访…...

Python知识分享第十六天

“”" 故事7: 小明把煎饼果子技术传给徒弟的同时, 不想把独创配方传给他, 我们就要加私有. 问: 既然不想让子类用, 为什么要加私有? 答: 私有的目的不是不让子类用, 而是不让子类直接用, 而必须通过特定的 途径或者方式才能使用. 大白话: ATM机为啥要设计那么繁琐, 直接…...

管家婆财贸ERP BR045.大类存货库存数量明细表

最低适用版本&#xff1a; C系列 23.8 插件简要功能说明&#xff1a; 库存数量明细表支持按存货展示数据更多细节描述见下方详细文档 插件操作视频&#xff1a; 进销存类定制插件--大类存货库存数量明细表 插件详细功能文档&#xff1a; 应用中心增加菜单【大类存货库存数…...

Pytorch-GPU版本离线安装

最近在复现一项深度学习的工作&#xff0c;发现自己的pytorch是装的cpu版的(好像当时是直接加清华源&#xff0c;默认是cpu版本&#xff09;。从官网在线下载速度太慢&#xff0c;还时不时断开连接&#xff0c;我们可以配置conda的清华源去这个问题&#xff0c;但是考虑到是在用…...

k8s 1.28 二进制安装与部署

第一步 &#xff1a;配置Linux服务器 #借助梯子工具 192.168.196.100 1C8G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl、haproxy、keepalived 192.168.196.101 1C8G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl、…...

【C语言】扫雷游戏(一)

我们先设计一个简单的9*9棋盘并有10个雷的扫雷游戏。 1&#xff0c;可以用数组存放&#xff0c;如果有雷就用1表示&#xff0c;没雷就用0表示。 2&#xff0c;排查(2,5)这个坐标时&#xff0c;我们访问周围的⼀圈8个位置黄色统计周围雷的个数是1。排查(8,6)这个坐标时&#xf…...

二分法篇——于上下边界的扭转压缩间,窥见正解辉映之光(1)

前言 二分法&#xff0c;这一看似简单却又充满哲理的算法&#xff0c;犹如一道精巧的数学之门&#xff0c;带领我们在问题的迷雾中找到清晰的道路。它的名字虽简单&#xff0c;却深藏着智慧的光辉。在科学的浩瀚星空中&#xff0c;二分法如一颗璀璨的星辰&#xff0c;指引着我们…...

# 01_Python基础到实战一飞冲天(三)--python面向对象(一)--简单类

01_Python基础到实战一飞冲天&#xff08;三&#xff09;–python面向对象&#xff08;一&#xff09;–简单类 一、面向对象-01-基本概念 1、面向对象(OOP) 面向对象编程 —— Object Oriented Programming 简写 OOP。 2、面向对象(OOP) 学习目标 了解 面向对象 基本概念…...

sentinel使用手册

1.引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>2.yaml spring:cloud:sentinel:transport:dashboard: localhost:8090 #sentinel控制台地址…...

搜索二维矩阵 II(java)

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 代码思路&#xff1a; 用暴力算法&#xff1a; class Solution {public boolean searchMatrix(…...

Python语法基础(四)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 高阶函数之map 高阶函数就是说&#xff0c;A函数作为B函数的参数&#xff0c;B函数就是高阶函数 map&#xff1a;映射 map(func,iterable) 这个是map的基本语法&#xff0c;…...

03_Django视图

三、Django模板 模板Templates 在Django框架中&#xff0c;模板是可以帮助开发者快速生成呈现给用户页面的工具 模板的设计方式实现了我们MVT中VT的解耦(M:Model&#xff0c;V:View&#xff0c;T:Template)&#xff0c;VT有着N:M的关系&#xff0c;一个V可以调用任意T&#xf…...

如何从 Hugging Face 数据集中随机采样数据并保存为新的 Arrow 文件

如何从 Hugging Face 数据集中随机采样数据并保存为新的 Arrow 文件 在使用 Hugging Face 的数据集进行模型训练时&#xff0c;有时我们并不需要整个数据集&#xff0c;尤其是当数据集非常大时。为了节省存储空间和提高训练效率&#xff0c;我们可以从数据集中随机采样一部分数…...

OpenClaw语音控制:nanobot对接Whisper实现声控自动化

OpenClaw语音控制&#xff1a;nanobot对接Whisper实现声控自动化 1. 为什么需要语音控制自动化 作为一个长期与命令行打交道的开发者&#xff0c;我一直在寻找更自然的交互方式。键盘输入固然高效&#xff0c;但在某些场景下——比如双手被占用时调试代码、厨房里边做饭边查菜…...

HTML网页元素中的图片和超链接

哈哈哈&#xff0c;又来更新我这一周里面新学的web前端开发技术啦&#xff01;今天我将与大家分享网页元素中的图片和超链接。一.图像的应用HTML中加入图片有3种不同的路径&#xff1a;1.绝对路径&#xff1a;是指互联网上唯一且完整的地址&#xff0c;用来精准定位资源。绝对路…...

I-Lang SEO实战部署:用结构化协议让Google的AI爬虫读懂你的网页

前言&#xff1a; 我们用I-Lang的结构化方法论做SEO&#xff0c;一个全新的英文商业站&#xff0c;七天打进Google搜索第一页。这篇文章把具体方法公开。 一、前提&#xff1a;Google的爬虫已经是AI了 2024年之后&#xff0c;Google的搜索排名算法发生了根本性变化。Googlebot…...

iPhone 抓包失败 4 种具体情况逐个解决方法

抓不到包这个描述太模糊了&#xff0c;在实际调试中&#xff0c;这句话至少对应四种完全不同的情况&#xff1a; 完全没有请求只有浏览器能抓到能抓到但 HTTPS 解不开能抓到但数据不完整 如果不先分清楚是哪一种&#xff0c;就会一直重复安装证书或改代理配置。一、先做一个验证…...

Thorium浏览器:重新定义现代网页浏览性能标准

Thorium浏览器&#xff1a;重新定义现代网页浏览性能标准 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of the README.md. …...

5分钟完成Axure RP界面本地化:从英文障碍到高效操作的蜕变指南

5分钟完成Axure RP界面本地化&#xff1a;从英文障碍到高效操作的蜕变指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-c…...

OBS高级计时器:提升直播专业度的时间管理工具

OBS高级计时器&#xff1a;提升直播专业度的时间管理工具 【免费下载链接】obs-advanced-timer 项目地址: https://gitcode.com/gh_mirrors/ob/obs-advanced-timer 在直播行业竞争日益激烈的今天&#xff0c;精准的时间控制是提升直播质量的关键因素之一。OBS高级计时器…...

智能内容解锁工具:5分钟掌握付费墙突破技巧

智能内容解锁工具&#xff1a;5分钟掌握付费墙突破技巧 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在数字信息时代&#xff0c;优质内容常被付费墙阻隔&#xff0c;而bypass-payw…...

Spigot服务器搭建后,别忘了做这5件事:优化、备份、插件与安全基础设置

Spigot服务器搭建后必做的5项关键优化与安全设置 当你第一次看到Spigot服务器成功启动时&#xff0c;那种成就感确实令人兴奋。但很快你会发现&#xff0c;一个能运行的基础服务器和真正稳定、高效、安全的游戏环境之间&#xff0c;还有不小的距离。很多新手服主在这个阶段容易…...

数字中国新引擎:产业经济大脑的全景式解构与深度洞察(PPT)

“中国经济高质量发展的核心命题&#xff0c;已从‘有没有’转向‘好不好’。而要回答‘好不好’&#xff0c;就必须构建一套能看清、看准、看远的‘经济慧眼’。”在数字经济成为国家战略主战场的今天&#xff0c;地方政府正面临着前所未有的治理挑战&#xff1a;宏观政策如何…...