在DFS-Javascript中

时间:2019-03-21 20:20:58

标签: javascript

这听起来很幼稚,但是我正在研究算法,需要帮助来确定使用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)
            }
        });
    }

有什么想法吗?

0 个答案:

没有答案