如何解决$ 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 举报,一经查实,本站将立刻删除。