网站开发设计概述,做dj网站能赚钱吗,怎么改网站模块,专门做正品的网站手机版题目要求 function convertToTree(regions, rootId 0) {// TODO: 在这里写入具体的实现逻辑// 将平铺的结构转化为树状结构#xff0c;并将 rootId 下的所有子节点数组返回// 如果不存在 rootId 下的子节点#xff0c;则返回一个空数组}module.exports convert…题目要求 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
}