我遇到了数组未填充的问题。
电子表格中设置了正确的日期 29/09/2017
我认为这是因为文本不匹配。代码如下:
日期正在设定:
// Format the date
var formattedDate = Utilities.formatDate(new Date(), "GMT", "dd/MM/yyyy");
var sendTheseEmail = [];
var sendTheseName = [];
var sendTheseLName = [];
var sendTheseBackup = [];
var sendTheseAdvocate = [];
for (var i = 1; i < 20; i++) {
function findSend() {
if(tsSheet.getRange("F" + i).getValue() == formattedDate){
sendTheseEmail.push(tsSheet.getRange("D" + i).getValue())
sendTheseName.push(tsSheet.getRange("A" + i).getValue())
sendTheseLName.push(tsSheet.getRange("B" + i).getValue())
sendTheseBackup.push(tsSheet.getRange("E" + i).getValue())
sendTheseAdvocate.push(tsSheet.getRange("G" + i).getValue())
日志显示:
日期
[17-09-29 03:05:31:426 PDT] 29/09/2017
然后数组记录:
[17-09-29 03:05:31:427 PDT] []
[17-09-29 03:05:31:427 PDT] []
[17-09-29 03:05:31:428 PDT] []
[17-09-29 03:05:31:428 PDT] []
[17-09-29 03:05:31:429 PDT] []
如果有人能提供帮助那就太好了!
最佳答案
如果没有任何最小的可运行代码,很难回答,但我想如果您想比较日期,那么也只需使用 Utilities.formatDate
来格式化该单元格中的日期:
var formattedDate = Utilities.formatDate(new Date(), "GMT", "dd/MM/yyyy");
var sendTheseEmail = [];
var sendTheseName = [];
var sendTheseLName = [];
var sendTheseBackup = [];
var sendTheseAdvocate = [];
for (var i = 1; i < 20; i++) {
function findSend() {
// Format the cell value before comparision
if (Utilities.formatDate(new Date(tsSheet.getRange("F" + i).getValue()), "GMT", "dd/MM/yyyy") == formattedDate) {
sendTheseEmail.push(tsSheet.getRange("D" + i).getValue())
sendTheseName.push(tsSheet.getRange("A" + i).getValue())
sendTheseLName.push(tsSheet.getRange("B" + i).getValue())
sendTheseBackup.push(tsSheet.getRange("E" + i).getValue())
sendTheseAdvocate.push(tsSheet.getRange("G" + i).getValue())
}
}
}
关于javascript - 如果日期相同则运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46486888/