【问题标题】:2D array issues in Google Scripts / JavascriptGoogle Scripts / Javascript 中的二维数组问题
【发布时间】:2017-08-21 21:38:29
【问题描述】:

我有一些代码可以从 Google 表格中检索数据。然后,我循环遍历这些数据以获取仅等于今天日期的日期。然后我想将这些值放入另一张表中。我可能不明白 2D 数组究竟是如何工作的……以下是我目前所拥有的。我知道我的循环只查找今天的条目是有效的。不知道我做错了什么。任何帮助将不胜感激。 n 变量返回应该在数组中的正确行数。但是,行数和列数不正确。我正在从中读取数据的工作表有 4 列。不过我只需要其中的 3 个。

var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Edit Info');
var rows = sheet.getDataRange();
var values = rows.getValues();

Logger.log(values.length)
Logger.log(values[0].length)

var todayValues = [];
var todValues = "";
var rowValues = [];

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
dd = '0'+dd
} 

if(mm<10) {
mm = '0'+mm
}  

today = mm + "/" + dd + "/" + yyyy;
Logger.log("Today: " + today)
var n = 1;
for(var i = 1; i < values.length; i++) {   
var formattedDate = values[i][0];
var newDate = Utilities.formatDate(new Date(formattedDate), "GMT-6", 
"MM/dd/yyyy");
//Logger.log("NewDate: "+newDate)
if(newDate == today){

  //todValues += values[j][0] + "," + values[i][3] + "," + values[i][2];
  todayValues.push(values[i][0], values[i][3], values[i][2]);
  n = n + 1
  Logger.log(values[i][0] + ", " + values[i][3] + ", " + values[i][2])
}
}

Logger.log("N Row Count: " + n) //How many times the date was actually 
found
Logger.log("Rows: " + todayValues.length)
Logger.log ("Columns: " + todayValues[0].length)

【问题讨论】:

    标签: javascript arrays google-apps-script


    【解决方案1】:

    您是否在脚本编辑器中使用了“调试”选项。如果您还没有使用,请参阅Troubleshooting page。这比使用日志更容易。

    执行此操作时,您应该会发现保存到 values 的检索数据与保存到 todayValues 的数据不同。简而言之,它会是这样的:

    values  [["A", "B", "C"],["D", "E", "F"]]
    todayValues  ["A", "B", "C","D", "E", "F"]
    

    注意值中的附加方括号。

    您希望循环中的代码可以读取

     todayValues.push([values[i][0], values[i][3], values[i][2]]);
    

    【讨论】:

    • 谢谢!那成功了。它使我的代码也可以填充另一个工作表。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2020-11-11
    • 2018-11-15
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    相关资源
    最近更新 更多