javascript - 在 While 循环内嵌套 For 循环
问题描述
我正在创建一个脚本,以将许多 google 工作表从一个 google 驱动器位置复制到另一个位置,然后遍历这些工作表并应用权限/编辑器。我还必须跟踪之前复制了源位置的哪些工作表。
我的问题是while循环内的for循环。由于某种原因,在 while 循环的单次迭代之后,运行我的 for 循环的变量似乎采用了文件名的值。
while (files.hasNext()) {
var file = files.next();
for (var k in check){
Logger.log(check[k]);
if(check[k] = file.getName()){
Logger.log("this file has been copied already");
break;
}
else{
Logger.log("this file was not found on the list, copying");
file.makeCopy(file.getName(),copyFolder);
ss = SpreadsheetApp.open(copyFolder.getFilesByName(file.getName()));
ss.addEditors(admins);
ss.addEditors(editors);
var sheets = ss.getSheets();
for (var y in sheets) {
Logger.log(sheets[k].getSheetName());
var protection = sheets[y].protect();
protection.addEditors(admins);
protection.removeEditors(editors);
}
checkSheet.appendRow(file.getName());
Logger.log("file copied, file name appended to check list");
}
}
}
这是输出日志。正如您在 for 循环的第一次迭代中看到的那样,记录了数组中的正确值,即。“列出的文件”。从第二次迭代开始, check[k] 的值以某种方式被分配了文件名,即。“批量权限”、“CP-007791”。
[19-07-08 11:06:49:423 MDT] LISTED FILE
[19-07-08 11:06:49:424 MDT] this file has been copied already
[19-07-08 11:06:49:425 MDT] batch permissions
[19-07-08 11:06:49:425 MDT] this file has been copied already
[19-07-08 11:06:49:426 MDT] CP-007791
[19-07-08 11:06:49:427 MDT] this file has been copied already
[19-07-08 11:06:49:428 MDT] batch permissions 2
[19-07-08 11:06:49:429 MDT] this file has been copied already
[19-07-08 11:06:49:430 MDT] CP-008504
[19-07-08 11:06:49:431 MDT] this file has been copied already
[19-07-08 11:06:49:432 MDT] CP-007796
[19-07-08 11:06:49:433 MDT] this file has been copied already
[19-07-08 11:06:49:434 MDT] CP-007802
[19-07-08 11:06:49:435 MDT] this file has been copied already
[19-07-08 11:06:49:436 MDT] CP-003675
[19-07-08 11:06:49:437 MDT] this file has been copied already
[19-07-08 11:06:49:438 MDT] CP-007317
[19-07-08 11:06:49:439 MDT] this file has been copied already
[19-07-08 11:06:49:440 MDT] WO 81382901
我觉得我只是在这里错过了一些真正简单的东西。让我知道您是否可以提供帮助。谢谢
解决方案
推荐阅读
- python - Geopandas 数据框到 GeoJSON 到 Elasticsearch 索引?
- google-apps-script - Google Script in Sheets, Reference 最后一行,找到票号和客户号,然后用它找到文件夹添加子文件夹
- sql-server - Updlock、Holdlock、Rowlock 的用法?SQL Server 中的悲观锁定
- css - 光标移动时悬停过渡行为不端
- java - 在java中查找用双引号括起来的子字符串
- excel - 根据单元格值分离数据
- vba - 如何在同一数据库中管理 Access 2010 和 Access 2016 上的引用
- python - 如何从 E11000 DuplicationKeyError 获取消息?
- javascript - 优化 1920x1080 画布录制的性能
- javascript - TypeScript:同一类型/接口内的条件类型