即使在递归的更深层次中找到文件夹,也不会停止原始while循环的继续。
要解决此问题,您需要处理递归调用的结果,并在找到匹配时中断,如下所示:
function buscarCarpeta(origen, curso) {
curso = curso.toString();
var folders = origen.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
var name = folder.getName();
var scr = name.search(curso);
if (scr > -1) {
Logger.log("Encontrado");
return folder; // Exit on folder found
}
// Recursive call on subfolders
var found = buscarCarpeta(folder, curso);
if (found) {
return found; // Return the folder
}
}
return null; // no folder founded
}
希望这有帮助;编码愉快!