首先什么是深度优先,看这里
深度优先遍历的实现分两种一种是递归的,一种是非递归的。递归比较简单,这里我说一下非递归的实现。注:这种对树形数据的深度遍历在开发中比较常见,于是封装过程中业务逻辑部分尽量自定义。遍历的流程写死。
具体实现如下:
数据结构:
const DEEPDATA = [
{
name: "all",
children: [
{
name: "图片",
children: [
{
name: "image1.jpg"
},
{
name: "风景",
children: [
{
name: "guilin.jpg"
},
{
name: "hainan.jpg"
}