前端递归获取树(不限制层级)结构下的某个字段并组成数组返回

devtools/2024/11/14 8:29:17/

一、问题
后端需要把一个层级不确定的树下的code组成数组以入参的形式进行返回

二、递归处理树结构

function getCodes(data) {const codes = [];// 内部递归函数function traverse(node) {if (node.unitCode) {codes.push(node.code); // 添加当前节点的 unitCode}if (node.children) {node.children.forEach(traverse); // 递归遍历子节点}}data.forEach(traverse); // 从根节点开始遍历return codes; // 返回收集到的 codes
}// 示例数据
const data = [{"code": "xxx1","parentCode": "pxx1","name": "父级","level": 2,"children": [{"code": "xxx2","parentCode": "pxx2","name": "子集","level": 3,"children": null},// 省略其他节点...]},// 省略其他区块...
];// 调用方法并打印结果
const codeArray= getCodes(data);
console.log(codeArray);

http://www.ppmy.cn/devtools/132831.html

相关文章

【Linux 29】传输层协议 - UDP

文章目录 🌈 一、端口号概念⭐ 1. 端口号的作用⭐ 2. 使用五元组唯一标识一个通信⭐ 3. 协议号 VS 端口号⭐ 4. 知名端口号⭐ 5. 端口号与进程的关系⭐ 6. netstat 查看网络状态 🌈 二、UDP 协议⭐ 1. UDP 协议格式⭐ 2. UDP 协议特点⭐ 3. 面向数据报概…

【科普小白】LLM大语言模型的基本原理

一、要了解LLM大模型的基本原理就要先来了解一下自然语言处理(NLP)。 NLP 是 AI 的一个子领域,专注于使计算机能够处理、解释和生成人类语言,主要任务包括:文本分类、自动翻译、问题回答、生成文本等。到底是NLP促生了…

AI Prompt如何帮你提升论文中的逻辑推理部分?

撰写学术论文时,逻辑推理不仅是支撑观点的核心,还直接影响读者对内容的理解和信服度。如何确保推理严密、论据充分、层层递进?现在,ChatGPT 能通过巧妙的 Prompt 设计帮助我们构建更有逻辑性的段落,提升论文的层次感。…

VMware 虚拟机使用教程及 Kali Linux 安装指南

VMware 虚拟机使用教程及 Kali Linux 安装指南 在现代计算机科学与网络安全领域,虚拟化技术的应用越来越广泛。VMware 是一款功能强大的虚拟化软件,可以帮助用户在同一台物理机上运行多个操作系统。本文将详细介绍如何使用 VMware 虚拟机,并…

UDP协议:报文结构和注意事项

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在网络编程中,UDP(用户数据报协议)以其轻量级和高效性而著称。这篇博客我们就来探讨UDP的报文结构,以及在使用UDP时需要注意的一些关键事项。 UDP代码实战:UDP…

golang 实现比特币内核:处理椭圆曲线中的天文数字

在比特币密码学中,我们需要处理天文数字,这个数字是如此巨大,以至于它很容易超出我们宇宙中原子的总数,也许 64 位的值不足以表示这个数字,而像加、乘、幂这样的操作如果使用 64 位整数会导致溢出,因此我们可能需要借助 golang 的 big 包,我们将通过使用 big.Int 来表示…

.Net相关知识

目录 什么是.Net? 微软做.Net平台的目的 如何实现的跨语言? 简单总结 .Net Framework 体系结构 总结 .Net Core Mono 跨平台方式 Framework、Core和Mono总结 总结 什么是.Net? 微软的 .Net既不是编程语言也不是框架! 而是类似于 互联网时代…

ansible进阶功能

目录 handlers-触发器 when-判断 循环 单变量循环 多变量循环 Jinja2-模板 include-引用 roles-角色 vault-加密 handlers-触发器 配合notify使用,通过notify监控是否发生改动,从而触发handlers。 handlers是在task全部执行完之后再执行。 下…