1
我有一個嵌套的javascript對象,我將其用作圖形。我的圖中的每個節點都有一個靜態結構。每個節點有兩種類型的子節點true/false
。他們可以有許多與其關聯的子節點(不是二叉樹)。以遞歸的方式將節點附加到嵌套的Javascript對象
var directedGraph = {
"sms_in": {
"metaType": "",
"data": {"parents": [], "args": {"values": {}, "keys": []}, "return": ["message", "address"]},
"true": {
"A": {
"metaType": "",
"data": {"parents": [], "args": {"values": {}, "keys": []}, "return": ["message", "address"]},
"true": {
"C": {
"metaType": "",
"data": {
"parents": [],
"args": {"values": {}, "keys": []},
"return": ["message", "address"]
},
"true": {},
"false": {},
"prototype": {}
}
},
"false": {
"B": {
"metaType": "",
"data": {
"parents": [],
"args": {"values": {}, "keys": []},
"return": ["message", "address"]
},
"true": {},
"false": {},
"prototype": {}
}
},
"prototype": {}
}
},
"false": {},
"prototype": {}
}
};
在我實際的程序,每當我在html
頁畫div
我創建該專區的節點。 Id將以動態方式生成(在上面的示例中,我使用了A,B,C)。
這就是爲什麼我需要一種以遞歸方式向圖中添加節點的方法。
var pushNodeById = function (parentId, bool, childId, childNode) {
for(key in directedGraph){
if(key == parentId){
directedGraph[parentId][bool][childId] = childNode;
}else{
//make the recursive call
}
}
};
任何人都可以幫助我完成上述功能嗎?
由於問題被標記爲'javascript'而不是'jquery',您應該解釋'$ .extend()'函數的作用,或者使用純js替代方法。 – m69