这听起来很幼稚,但是我正在研究算法,需要帮助来确定使用DFS的遍历。
我从fetch()获得响应并将数据存储在数组中。并使用Array.shift()
从数组中获取第一个节点,将其作为id传递到url,并调用另一个fetch()获取与该id相关的数据。
通过这样做,我确实到达了一侧的尽头,但是我不知道该如何回到根源并检查是否还有更多的孩子。
这是代码:
data={
id: "647634",
depth: 1,
data: ["node1","node2","node3"]
}
每个节点调用的数据如上。
function getData(id, explored) {
var self = this;
let explored = visited && visited.length>0 ? visited : new Array();
fetch("https://test.com/id", function(data){
//here im checking if its the end child:
if (data.end) {
var end =[];
end.push(data.end); // o/p: endId: "7287382"
}else {
let s = new Array();
data.forEach(function(n){
s.push(n);
})
var t = s.shift();
explored.push(t);
self.getData(t,explored)
}
});
}
有什么想法吗?