0
我試圖做一個樹形結構內的所有文件的列表中。我發現下面的代碼,我在網上找到,做這一點,但該文件夾和文件名輸出到錯誤日誌。 (我用BetterLog發送此到電子表格。我想有保存到一個數組作爲函數運行的信息,問題是該函數是遞歸的,我不知道如何解決這個問題。傳遞一個數組了遞歸函數
function getChildFolders(parent) {
Logger = BetterLog.useSpreadsheet('1nJ3fTFYQgwwXYik3LqAoX2M1KHj4lskrxyX0Y9p6ci8');
var childFolders = parent.getFolders();
while (childFolders.hasNext()) {
var childFolder = childFolders.next();
Logger.log("Folder Name: " + childFolder.getName());
Logger.log("Folder URL: " + childFolder.getUrl());
var files = childFolder.getFiles();
while (files.hasNext()) {
// Print list of files inside the folder
Logger.log(files.next().getName());
}
// Recursive call for any sub-folders
getChildFolders(childFolder);
}
}
這會讓並保持整個數組的副本每個函數遞歸調用的時間? –
不,你必須創建數組並把它傳遞給函數,然後把它傳遞給自己的遞歸調用。整個執行過程中只有一個數組。沒有複製或重新創建數組。 –
謝謝你。這完全回答了我的問題。 –