JavaScript遍历树结构
2024-10-16 22:04:25
遍历
function parseTreeJson(treeNodes){
if(!treeNodes||!treeNodes.length)return;
for(let i=0;i<treeNodes.length;i++){
let childs=treeNodes[i].children;
console.log(treeNodes[i].key)
if(childs&&childs.length>0){
parseTreeJson(childs);
}
}
}
广度非递归遍历
const travelWidely=(roots)=>{
const queue = [...roots];
while (queue.length){
const node = queue.shift();
//打印被遍历的节点
if(node===undefined) return;
console.log(`${node.title} ${node.children && node.children.length || ""}`);
if(node.children&&node.children.length){
queue.push(...node.children)
}
}
}
最新文章
- mac下生成ssh keys 并上传github仓储
- App开发流程之使用分类(Category)和忽略编译警告(Warning)
- 恶意IP远程登录Linux服务器脚本
- easyUI dialog 弹窗 居中显示
- volley(4) 请求参数:data:[ { bar_remain:XX , bar_code:";XX"; , bar_id: XX}], method:GET
- 【ZZ】常用推荐算法
- iOS tableview 静态表布局纪录
- subTree
- 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化
- 因子分析&;主成分分析
- Jmeter学习之-从数据库取出数据并且校验数据是否准确
- C#基础知识整理
- Java 3-Java 基本数据类型
- Ajax中Delete请求参数 后台无法获取的解决方法(Restful风格)
- TDDL与Spring Boot集成Version报错——跟踪与解决
- ajax传递数组,后台接收为null解决方法
- 解决js array的key不为数字时获取长度的问题
- MyEclipse的破解代码,适用各个版本
- java - day09 - summerize
- 最新IP地址数据库Dat格式-高性能高并发版(2019年3月)