即使在更深层次的递归级别发现文件夹之后,您也不会在循环继续进行时停止原始内容。要解决此问题,您需要处理递归呼叫的结果,并在找到这样的匹配时爆发:
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
}