【发布时间】:2013-10-23 01:58:03
【问题描述】:
我有一个如下所示的对象数组:
[{ name: 'test',
size: 0,
type: 'directory',
path: '/storage/test' },
{ name: 'asdf',
size: 170,
type: 'directory',
path: '/storage/test/asdf' },
{ name: '2.txt',
size: 0,
type: 'file',
path: '/storage/test/asdf/2.txt' }]
可能有任意数量的任意路径,这是遍历目录中的文件和文件夹的结果。
我要做的是确定这些的“根”节点。最终,这将存储在 mongodb 中并使用物化路径来确定它的关系。
在此示例中,/storage/test 是没有父级的根。 /storage/test/asdf 具有 /storage/test 的父级,它是 /storage/test/asdf/2.txt 的父级。
我的问题是,您将如何遍历此数组以确定父级和关联的子级?在正确方向上的任何帮助都会很棒!
谢谢
【问题讨论】:
-
您是否正在寻找能够真正为您提供类似目录树结构的东西,其中
/storage/test属于隐含节点/storage,而隐含节点/又属于隐含根/?不完全确定您最终要使用哪种数据结构。 -
为了澄清我的评论,如果您在
/storage/test有一个文件,在/storage/text/asdf/2.txt有一个文件,那么必须隐含/storage/text/asdf,除非父母也可能意味着祖父母。 -
好吧,我想基本上有嵌套的孩子,所以一个 json 对象表示与“文件夹树”相同,如果这有意义的话。我想我必须递归地遍历它才能保存。
标签: javascript node.js tree