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);
}
}
这会让并保持整个数组的副本每个函数递归调用的时间? –
不,你必须创建数组并把它传递给函数,然后把它传递给自己的递归调用。整个执行过程中只有一个数组。没有复制或重新创建数组。 –
谢谢你。这完全回答了我的问题。 –