Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google脚本/Javascript中的2D数组问题_Javascript_Arrays_Google Apps Script - Fatal编程技术网

Google脚本/Javascript中的2D数组问题

Google脚本/Javascript中的2D数组问题,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,我有一些代码可以从Google表单中检索数据。然后,我在这些数据中循环查找只与今天日期相等的日期。然后我想把这些值放到另一张表中。我可能不明白2D阵列到底是怎么工作的。。。以下是我到目前为止的情况。我知道我的循环只找到今天的条目是有效的。但我不确定我做错了什么。任何帮助都将不胜感激。n变量返回数组中应包含的正确行数。但是,行和列计数不正确。我从中读取数据的工作表有4列。不过我只需要三个 var ss = SpreadsheetApp.getActive(); var sheet = ss.get

我有一些代码可以从Google表单中检索数据。然后,我在这些数据中循环查找只与今天日期相等的日期。然后我想把这些值放到另一张表中。我可能不明白2D阵列到底是怎么工作的。。。以下是我到目前为止的情况。我知道我的循环只找到今天的条目是有效的。但我不确定我做错了什么。任何帮助都将不胜感激。n变量返回数组中应包含的正确行数。但是,行和列计数不正确。我从中读取数据的工作表有4列。不过我只需要三个

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)
var ss=SpreadsheetApp.getActive();
var sheet=ss.getSheetByName(“编辑信息”);
var rows=sheet.getDataRange();
var values=rows.getValues();
Logger.log(值.长度)
Logger.log(值[0]。长度)
var todayValues=[];
var todValues=“”;
var rowValues=[];
var today=新日期();
var dd=today.getDate();
var mm=today.getMonth()+1//一月是零!
var yyyy=today.getFullYear();

if(dd是否使用了脚本编辑器中的调试选项。如果未使用,请参阅以获取使用信息。这比使用日志更容易

执行此操作时,您会发现保存到值中的检索数据与保存到今天值中的数据不同。简化后,它将类似于:

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]]);

谢谢!这就成功了。这使我的代码填充另一个工作表也能正常工作。:)