Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript创建带有字符串路径列表的动态树结构_Javascript - Fatal编程技术网

如何使用javascript创建带有字符串路径列表的动态树结构

如何使用javascript创建带有字符串路径列表的动态树结构,javascript,Javascript,我有一个字符串列表,其中包含指向某个带有“/”分隔符的文件的路径,可用于我的jsp/html页面。 i、 e 上面的字符串路径列表可用于我的页面。我需要使用javascript在树下结构中使用上面的数据创建一个动态树结构 +d1/d2/ file3.jsp file4.asp +d1/d2/d3/ file1.c file2.java +d1/d2/d3/d4/ file4.asp +d11/d22/d33/ file5.txt 当我单击公共路径(如+di/d2)时,它应该展

我有一个字符串列表,其中包含指向某个带有“/”分隔符的文件的路径,可用于我的jsp/html页面。 i、 e

上面的字符串路径列表可用于我的页面。我需要使用javascript在树下结构中使用上面的数据创建一个动态树结构

+d1/d2/
 file3.jsp
 file4.asp

+d1/d2/d3/
 file1.c
 file2.java

+d1/d2/d3/d4/
 file4.asp

+d11/d22/d33/
 file5.txt
当我单击公共路径(如+di/d2)时,它应该展开以显示该目录下的所有文件,当再次单击时,它应该隐藏子文件。
对于所有其他节点也是如此。

因为您没有代码向我们展示,所以我不打算为您编写所有代码。只是一个概述,要告诉您该方法,您必须编写自己的代码:

  • 在javascript中将路径存储为字符串
  • 对每个字符串调用string.split(“/”),并将结果存储在数组中
  • 创建将保存树的对象
  • 匹配所有相似的顶级数组,然后将所有唯一的顶级目录作为子目录附加到步骤3中创建的对象
  • 使用涓流方法继续此过程,将子目录添加到顶级目录的子目录中
  • 通过再次使用涓流方法将子对象附加到您创建的列表对象,可以将结果呈现为列表

  • 作为参考:

    我删除了“ajax”标记,因为我不知道这是如何涉及ajax的。对于实际问题,最好先将这些字符串转换为散列,然后进行深度散列合并。然后在线找到一个插件,将javascript哈希转换为html/js树菜单。就目前情况而言,你的问题不够集中,无法给你一个好的回答。你甚至没有提到你正在使用什么javascript框架(如果有的话)。@user你为什么不使用一些jquery插件来构建树结构……而不是你自己来做呢again@user试试这个谢谢你的密码,根据您的建议,我已经使用jquery实现了一个树结构,其中包含分支和节点的ahrd编码值,但无法执行步骤5和6。如果您能按照您的解释为步骤5和步骤6提供代码snipet,我将非常感激。
    +d1/d2/
     file3.jsp
     file4.asp
    
    +d1/d2/d3/
     file1.c
     file2.java
    
    +d1/d2/d3/d4/
     file4.asp
    
    +d11/d22/d33/
     file5.txt