美文网首页
路径字符串转树状数据

路径字符串转树状数据

作者: 小怂本怂 | 来源:发表于2020-08-14 11:17 被阅读0次

    遇到一个需求,就是在本地选中一个文件夹,要把这个文件夹显示在浏览器上,并且要和在本地一样,能打开退回,但是在本地获取的只是一堆字符串路径,大概是下图:

    获取的数据

    要把它转换为树状结构要怎么写呢

       pathToTree(input) {

          var output = [];

          for (var i = 0; i < input.length; i++) {

            var chain = input[i].path.split("/");

            var currentNode = output;

            for (var j = 0; j < chain.length; j++) {

              if (chain[j] === "") {

                break;

              }

              var wantedNode = chain[j];

              var lastNode = currentNode;

              for (var k = 0; k < currentNode.length; k++) {

                if (currentNode[k].title == wantedNode) {

                  currentNode = currentNode[k].children;

                  break;

                }

              }

              if (lastNode == currentNode) {

                var newNode = (currentNode[k] = {

                  key: input[i].path,

                  title: wantedNode,

                  children: [],

                  check: 0,

                  file: input[i].file

                });

                currentNode = newNode.children;

              } else {

                delete currentNode.children;

              }

            }

          }

          return output;

        }

    这样就可以得到想用的数据了,完美搞定!

    处理后的数据

    文章转自:路径字符串数据转化为树型层级对象,path to json tree_weixin_30267697的博客-CSDN博客_jsonpath转换树型结构

    相关文章

      网友评论

          本文标题:路径字符串转树状数据

          本文链接:https://www.haomeiwen.com/subject/vccgdktx.html