Ich habe mich mit der binären Baum-ADT-Implementierung von Javascript herumgeschlagen und mich gefragt, ob jemand mir helfen könnte, dieses bestimmte JSON-Objekt zu analysieren.Analysieren eines binären baumartigen JSON-Objekts Level für Level in JavaScript
{"root":{"info":1,"right":{"info":3,"left":{"info":2,"count":1},"right":{"info":5,"left":{"info":4,"count":1},"count":1},"count":1},"count":1}}
Eine schnelle http://json.parser.online.fr/ Online sagt, dass die ausgegeben werden soll:
1
3
2 5
4
wenn ich die json Ebene für Ebene bin zu drucken. "info" enthält die Daten des Baumknotens und "links" & "rechts" zeigt auf Unterknoten. Mein printTreeByLevel,
this.printTreeByLevel = function(node){
nodesQueue = [];
var nodesInCurrentLevel = 1;
var nodesInNextLevel = 0;
nodesQueue.push(node);
while (nodesQueue.length != 0) {
currNode = nodesQueue[nodesQueue.length-1];
nodesQueue.pop();
nodesInCurrentLevel--;
if (currNode) {
document.getElementById("main").innerHTML = document.getElementById("main").innerHTML + currNode.info +" ";
nodesQueue.push(currNode.left);
nodesQueue.push(currNode.right);
nodesInNextLevel += 2;
}
if (nodesInCurrentLevel == 0) {
document.getElementById("main").innerHTML = document.getElementById("main").innerHTML + "<br>";
nodesInCurrentLevel = nodesInNextLevel;
nodesInNextLevel = 0;
}
}
}
}
produziert
1
3 5
4
2
Nur eine Anmerkung: Sie haben ein einfaches JavaScript-Objekt, nichts mit JSON zu tun, das eine Möglichkeit ist, Daten zu serialisieren. –