微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

$ dot 每个不适用于递归JS

如何解决$ dot 每个不适用于递归JS

我有一个循环,我在其中递归调用 rec_append(),显然第一遍单独工作,然后循环停止。

我有一个包含 4 个元素的数组进入 $.each 循环,但我只看到第一个元素以递归方式进入函数。帮助!

我将它切换为 element.forEach 但这只给了我第二个元素,我被卡住了,有没有更好的解决方案来处理元素树?我的数组是树的一部分。

var data = JSON.parse(JSON.stringify(result))
        var graph = $(".entry-point");

        function rec_append(requestData,parentDiv) {

          var temp_parent_details;
          $.each(requestData,function (index,jsonElement) {

            if (typeof jsonElement === 'string') {
              //Element construction

              //Name and other details in the form of a : delimited string
              var splitString = jsonElement.split(':');

              var details = document.createElement("details");
              var summary = document.createElement("summary");
              summary.innerText = splitString[0];
              details.append(summary);
              temp_parent_details = details;
              parentDiv.append(details);

              var kbd = document.createElement("kbd");
              kbd.innerText = splitString[1];
              summary.append(' ');
              summary.append(kbd);

              var div = document.createElement("div");
              div.className = "col";
              details.append(div);

              var dl = document.createElement("dl");
              div.append(dl);

              var dt = document.createElement("dt");
              dt.className = "col-sm-1";
              dt.innerText = "Path";
              div.append(dt);

              var dd = document.createElement("dd");
              dd.className = "col-sm-11";
              dd.innerText = splitString[2];
              div.append(dd);

              var dt2 = document.createElement("dt");
              dt2.className = "col-sm-1";
              dt2.innerText = "Type";
              div.append(dt2);

              var dd2 = document.createElement("dd");
              dd2.className = "col-sm-11";
              dd2.innerText = splitString[1];
              div.append(dd2);
            } else {
              $.each(jsonElement,function (jsonElementArrIndx,jsonChildElement) {
                rec_append(jsonChildElement,temp_parent_details); //Only 1 pass works,rest skip
              });

            }

          });
        }

        rec_append(data,graph);

示例数据:enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。