Javascript $dot每个不适用于递归(JS)
我有一个递归调用rec_append()的循环,显然第一次循环就可以了,然后循环就停止了 我有一个包含4个元素的数组进入该$。每个循环,但我只看到递归进入函数的第一个元素。救命啊 我把它换成了一个元素。forEach但这只给了我第二个元素,我被卡住了,有更好的解决方案来处理元素树吗?我的数组是树的一部分Javascript $dot每个不适用于递归(JS),javascript,html,jquery,foreach,Javascript,Html,Jquery,Foreach,我有一个递归调用rec_append()的循环,显然第一次循环就可以了,然后循环就停止了 我有一个包含4个元素的数组进入该$。每个循环,但我只看到递归进入函数的第一个元素。救命啊 我把它换成了一个元素。forEach但这只给了我第二个元素,我被卡住了,有更好的解决方案来处理元素树吗?我的数组是树的一部分 var data = JSON.parse(JSON.stringify(result)) var graph = $(".entry-point");
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);
示例数据:您确定
jsonElement
是一个数组吗?你只有一张字符串支票。还有错误吗?是的,有时它是一个对象(python中的键值dict),有时它是一个数组。您可以显示一个已知数据的小样本吗?为什么要在$中“写入”点。标题中的each()
?o、 otemp\u parent\u详细信息
将是未定义的
,然后在第一次递归中,您将追加。未定义的顶点