博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树遍历(广度优先 vs 深度优先)
阅读量:5227 次
发布时间:2019-06-14

本文共 1547 字,大约阅读时间需要 5 分钟。

const data = [  {    id: '01',    text: '湖北省',    children: [      {        id: '01001',        text: '武汉市',        children: [            {                id: '01001001',                text: '武昌区',                children: null            },            {                id: '01001002',                text: '洪山区',                children: null            }        ]    }  ]},{  id: '02',  text: '广东省',  children: [      {        id: '02001',        text: '深圳市',        children: [          {            id: '02001001',            text: '罗湖区',            children: null          },          {            id: '02001002',            text: '福田区',            children: null          }        ]      }    ]  }];// 深度优先递归遍历function deepRecursionTraverse(data){  if(!Array.isArray(data)) return;  data.forEach((item)=>{    console.log(item.text);    deepRecursionTraverse(item.children);  });}// deepRecursionTraverse(data);// 深度优先非递归遍历function deepNoRecursionTraverse(data){  let stark = [...data];  while(stark.length){    const temp = stark.shift();    console.log(temp.text);    if(temp.children &&temp.children.length){      stark = [...temp.children, ...stark];    }  }}// deepNoRecursionTraverse(data);// 广度优先 非递归遍历function wideNoRecursionTraverse(data){  let stark = [...data];  while(stark.length){    const temp = stark.shift();    console.log(temp.text);    if(temp.children &&temp.children.length){      stark = [ ...stark, ...temp.children,];    }  }}// wideNoRecursionTraverse(data);

 

转载于:https://www.cnblogs.com/shangyueyue/p/10280629.html

你可能感兴趣的文章
pwershell switch 语句
查看>>
学习Spring Boot:(五)使用 devtools热部署
查看>>
三人行有我师?取长补短?影响力?
查看>>
设计模式——设计模式概述
查看>>
封装一个获取module.exports内容的方法
查看>>
动态连接库
查看>>
ServletContext 与application的异同
查看>>
水平垂直居中
查看>>
CSS3教程:border-image属性
查看>>
asp.netmvc常见功能链接
查看>>
sql server系统表详细说明
查看>>
SQL Server 2008连接字符串写法大全
查看>>
sql server 使用链接服务器远程查询
查看>>
JavaScript中的继承
查看>>
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
转:探讨跨域请求资源的几种方式
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>