在嵌套树数组中查找对象-TypeScript

在嵌套树数组中查找对象-TypeScript,typescript,typescript2.0,Typescript,Typescript2.0,我有一个嵌套数组,类似于文件夹结构 <ul> <li> FolderA <ul> <li>FolderA1</li> <li>FolderA2 <ul> <li>FolderA21</li> <li>FolderA22</li> <li>FolderA23<

我有一个嵌套数组,类似于文件夹结构

<ul>
<li>
FolderA
<ul>
   <li>FolderA1</li>
   <li>FolderA2
        <ul>
           <li>FolderA21</li>
           <li>FolderA22</li>
           <li>FolderA23</li>
        </ul>
    </li>
    <li>FolderA3</li>
</ul>
</li>
<li>FolderB
<ul>
   <li>FolderB1</li>
   <li>FolderB2</li>
   <li>FolderB3</li>
</ul>
</li>
<li>FolderC</li>
</ul>

folder: {
label: string;
path: string;
children: folder[];}
  • 福尔德拉
    • 折页1
    • 折页2
      • 折叠21
      • 折页22
      • 福尔德拉23
    • 福尔德拉3
  • FolderB
    • 折叠B1
    • FolderB2
    • 折叠B3
  • FolderC
文件夹:{ 标签:字符串; 路径:字符串; 子项:文件夹[];}
比如说,如果我需要插入新的“FolderA221”,我必须首先选择它的父级“FolderA22”,然后使用push方法

我尝试使用“查找”方法,但实际上它在级别1上有效。有什么方法可以递归地查找和选择对象吗?

您可以声明另一种类型并导入到.ts文件中

import { Child } from './child';

export interface parent {
     field1: string;
     field2: Array<Child>;
}
从“/Child”导入{Child};
导出接口父级{
字段1:字符串;
字段2:数组;
}
这可能会解决你的问题


您可以声明另一种类型并导入到.ts文件中

import { Child } from './child';

export interface parent {
     field1: string;
     field2: Array<Child>;
}
从“/Child”导入{Child};
导出接口父级{
字段1:字符串;
字段2:数组;
}
这可能会解决你的问题