蓝桥杯题练习:平地起高楼

题目要求

function convertToTree(regions, rootId = "0") {// TODO: 在这里写入具体的实现逻辑// 将平铺的结构转化为树状结构,并将 rootId 下的所有子节点数组返回// 如果不存在 rootId 下的子节点,则返回一个空数组}module.exports = convertToTree; // 检测需要,请勿删除

题目链接就不放了

1.关键核心,children就是   子类pid == 父类id

function convertToTree(regions, 父类id) {let newArr = []    //存满足需求的值regions.forEach((item)=>{if(item.pid == rootId){    newArr.push(item)    //如果找到了就存起来}})                       //如果没找到就返回空数组return newArr
}

2.第一代由于没有父类,我们可以默认父类id为0

3.第二代开始我们让rootId等于父类id就行

function convertToTree(regions, rootId = "0") {let newArr = []regions.forEach((item)=>{if(item.pid == rootId){newArr.push(item)item.children = convertToTree(regions , item.id)}                    //将找到的值赋给子类})return newArr
}

4.我们也可以使用slice过滤掉已经检测过的数组

function convertToTree(regions, rootId = "0") {let newArr = []regions.forEach((item , i)=>{if(item.pid == rootId){newArr.push(item)item.children = convertToTree(regions.slice(i) , item.id)}                    //将找到的值赋给子类})return newArr
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

西门子WinCC冗余项目使用

1 如果需要使用WinCC冗余系统时,请仔细阅读下面的文档,它将解决以下几个问题: (1)WinCC冗余有什么样的功能? (2)需要购买什么样的授权? (3)应…

高项软考电子版论文答题纸(附下载)

24年软考又要来了,作为高项软考的拦路虎,论文你准备好了吗?!记住在开始考试之前一定要用论文答题纸上把准备好的论文,在规定的时间内写上几遍,一是现在很少动笔写字了。二是、熟悉一下论文考试的感觉。 准备…

Unity3d Mesh篇(三)— 创建立方体

文章目录 前言一、Mesh组成二、使用步骤GetVertices方法GetTriangles方法OnDrawGizmos方法 三、效果四、总结 前言 在 Unity 中,创建立方体是学习和理解网格(Mesh)基础知识的重要一步。本篇教程将介绍如何使用 C# 脚本在 Unity 中创建一个简…

开启你的闲鱼探索之旅!利用商品详情关键词API,找到独一无二的宝藏商品

闲鱼是中国最大二手交易平台之一,拥有数亿用户。每天都有大量的宝贝被上架,有些宝贝非常独特,只有一两个被发布。如何找到这些独一无二的宝藏商品呢?幸运的是,我们可以利用联讯数据商品详情关键词API来实现这个目标。 …

普通索引和唯一索引详解

前言 面试的时候有时会问面试者,普通索引和唯一索引有什么区别。很多人,甚至工作很多年的工程师回答的千篇一律 “普通索引可以有重复的值,唯一索引不能有重复的值”。于是我又问,这两个索引这两个索引效率哪个高,很少…

【Vue】插槽-slot

📝个人主页:五敷有你 🔥系列专栏:Vue ⛺️稳中求进,晒太阳 插槽 作用:让组件内部一些 结构 支持 自定义 插槽的分类: 默认插槽。具名插槽。 基础语法 组件内需要定制的结构部分&…

AI:145-智能监控系统下的行人安全预警与法律合规分析

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

Python算法100例-2.10 马克思手稿中的数学题

完整源代码项目地址,关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.运行结果 1.问题描述 马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家…

安装DGL注意事项

安装DGL注意事项 一、首先得确定自己电脑或者服务器环境安装的 python 和 cuda 版本是多少,然后选择对应的dgl进行安装,而不是直接使用下面的代码直接进行安装,否则会报错。 pip install dgl # 这种直接安装方式不妥DGL backend not select…

【Activiti7系列】Activi7简介和基于Spring Boot整合Activiti7(流程设计器)

本文将介绍Activiti7基础概念及基于Spring Boot整合Activiti7(流程设计器)的具体步骤。 作者:后端小肥肠 1. 前言 在企业级应用中,业务流程的管理和执行是至关重要的一环。Activiti7是一个强大的开源工作流引擎,它提供了灵活的流程定义、任务…

C++初阶:模版相关知识的进阶内容(非类型模板参数、类模板的特化、模板的分离编译)

结束了常用容器的介绍,今天继续模版内容的讲解: 文章目录 1.非类型模版参数2.模板的特化2.1模版特化引入和概念2.2函数模版特化2.3类模板特化2.3.1全特化2.3.1偏特化 3. 模板分离编译3.1分离编译概念3.2**模板的分离编译**分析原因 1.非类型模版参数 模板…

深入理解Linux线程(LWP):概念、结构与实现机制(1)

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:会いたい—Naomile 1:12━━━━━━️💟──────── 4:59 🔄 ◀️ ⏸ ▶️ ☰ &a…