簡體   English   中英

javascript遞歸功能無法正常工作

[英]javascript recursive function not working fully

我具有以下遞歸函數,但是它不起作用...它向下搜索到“ firstPageChild”,然后完成。 任何人都可以發現這里出了什么問題嗎?..我確定這很簡單,但此刻讓我很沮喪。

  var pageMap = [{"pageID" : "mainPage",
                        "children": [{"pageID" : "firstPage",
                                   "children": [{"pageID" : "firstPageChild",
                                                 "children": []
                                                }]
                                    },
                                    {"pageID" : "secondPage",
                                   "children": [{"pageID" : "secondPageChild1",
                                                 "children": []
                                                }, {"pageID" : "secondPageChild2",
                                                 "children": []
                                                }]
                                    },
                                    {"pageID" : "thirdPage",
                                   "children": [{"pageID" : "thirdPageChild1",
                                                 "children": []
                                                }, {"pageID" : "thirdPageChild2",
                                                 "children": []
                                                }]
                                    }]
                      }];

function findObjectById(root, id) {
debugger;
var k, pageVar;
if (root.children) {
    for (k in root.children) {

        pageVar = root.children[k];

        if (pageVar.pageID == id) {
            return pageVar;
        }
        else if (pageVar.children.length) {
            return findObjectById(pageVar, id);
        }
    }
}
};

for (var i = 0, len = pageMap.length; i < len; i++) {
  var myObj = findObjectById(pageMap[i], "secondPageChild2");
}


console.log(myObj);

http://jsfiddle.net/3nkfbbyy/

替換return findObjectById(pageVar, id);

pageSrch = findObjectById(pageVar, id);
if(pageSrch){
   return pageSrch;
}

JSFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM