gpt4 book ai didi

javascript - Google Apps 脚本 - 如何中断循环以防止出现错误消息

转载 作者:行者123 更新时间:2023-12-03 01:46:39 25 4
gpt4 key购买 nike

如果满足某些条件(G 列不为空,并且 A 列中的日期等于或早于 3 个月),我有以下脚本用于将行从一张纸存档到另一张纸。它将匹配的行追加到新工作表中,并从原始工作表中删除该行。

function Archiving() {

var masterSS = SpreadsheetApp.getActiveSpreadsheet() || SpreadsheetApp.openById('sheetID');
var responseSheet = masterSS.getSheetByName('responseSheetname');
var archiveSheet = masterSS.getSheetByName('archiveSheetName');

var responseData = responseSheet.getRange(2,1, responseSheet.getLastRow()-1, responseSheet.getLastColumn()).getValues();
var lastRow = responseSheet.getLastRow();
var today = new Date();
for (var i = responseData.length-1; i < responseData.length; i--){
var row = responseData[i];
if (row[0] == "") {break;}
if (row[6] != "") {
var date = row[0];
if (date != "" && ((today.getTime() - date.getTime()) > 7776000000)) {
Logger.log(date)
archiveSheet.appendRow(responseData[i]);
responseSheet.deleteRow(i+2);
}
}
}
}

它正在工作,但是,当它完成归档时,它会抛出以下错误:

TypeError: Cannot read property "0" from undefined. (line 42, file "Archiving Script")

我之所以这样想,是因为它仍在尝试循环,但什么也没找到,我本来希望中断能够解决这个问题,但事实并非如此。

有人可以提出修复建议吗?

最佳答案

如果有人感兴趣,解决办法就是改变。

if (row[0] == "") {break;}

if (!row || row[0] == "") {break;}

谢谢 LGSon。

关于javascript - Google Apps 脚本 - 如何中断循环以防止出现错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50603576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com