0
我正在努力尋找一個特定的子目錄的遞歸JavaScript函數。這是我的代碼:Javascript遞歸返回undefined
function navigateToParent() {
var parentFullPath = parentDirectory(); // gets the full Path String
if (parentFullPath != null) {
var parent = getDirectoryByName(parentFullPath, rootDirectory);
// set the parent directory object as the current one
currentDirectory(parent);
}
}
function getDirectoryByName(fullName, myDirectory) {
if (myDirectory.fullName == fullName) {
return myDirectory;
} else {
var subs = myDirectory.subDirectories;
for (i = 0; i < subs.length; i++) {
return getDirectoryByName(fullName,subs[i]);
}
}
}
每個目錄對象都有屬性fullName
(串),subDirectories
(目錄的陣列)和files
(文件的陣列)。我的目標是獲得正確的目錄對象,它的全名匹配。
我知道,我必須以某種方式打破for循環,但我不知道如何完全做到這一點。
你能提供的目錄對象的例子嗎? – Andy
在你的for循環中,如果'getDirectoryByName'返回一個結果,你真的只想返回'',否則你將永遠不會檢查其他的孩子 – CodingIntrigue
getDirectoryByName'不是所有的執行路徑都返回一個值,因爲它不會檢查除第一個子目錄以外的任何東西。 – Igor