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

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

题目要求

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
}

相关文章:

  • c++知识点之 --函数参数默认值
  • 小红书关键词爬虫
  • 光学3D表面轮廓仪微纳米三维形貌一键测量
  • 命令模式(Command Pattern)
  • 在此处打开命令窗口 (Open command window here)
  • 2023年12月CCF-GESP编程能力等级认证Scratch图形化编程三级真题解析
  • Tomcat 架构
  • ComfyUI中的翻译节点(Deep Translator Text Node)怎么用
  • openGauss学习笔记-232 openGauss性能调优-系统调优-资源负载管理-资源管理准备-资源规划
  • 掘根宝典之C语言字符串输出函数(puts(),fputs())
  • 数据迁移DTS | 云上MySQL 数据库迁移至达梦数据库
  • JavaScript-关于事件、事件流(捕获、冒泡)、事件源、常用事件
  • 总结springboot启动jar,指定配置文件
  • PCB Layout完成后,检查注意事项
  • 单点故障解决方案之Smart Link与Monitor Link
  • [译] 怎样写一个基础的编译器
  • 230. Kth Smallest Element in a BST
  • 77. Combinations
  • angular组件开发
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • extract-text-webpack-plugin用法
  • HashMap剖析之内部结构
  • JavaScript的使用你知道几种?(上)
  • Sass Day-01
  • Selenium实战教程系列(二)---元素定位
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue总结
  • 阿里云前端周刊 - 第 26 期
  • 彻底搞懂浏览器Event-loop
  • 当SetTimeout遇到了字符串
  • 记一次用 NodeJs 实现模拟登录的思路
  • 离散点最小(凸)包围边界查找
  • 前端
  • 数组大概知多少
  • 再次简单明了总结flex布局,一看就懂...
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​Python 3 新特性:类型注解
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # 安徽锐锋科技IDMS系统简介
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #laravel 通过手动安装依赖PHPExcel#
  • $(function(){})与(function($){....})(jQuery)的区别
  • $.ajax()
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (3)(3.5) 遥测无线电区域条例
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (学习日记)2024.01.09
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)Windows2003安全设置/维护
  • (转载)虚函数剖析