Javascript 在数组中向后循环时出错

Javascript 在数组中向后循环时出错,javascript,arrays,google-apps-script,google-sheets,Javascript,Arrays,Google Apps Script,Google Sheets,我开始做一些事情,很早就遇到了一个障碍,用我有限的javascript知识在早期尝试思考解决问题的方法 我确信这是一件简单而烦人的事情,但我似乎看不出是什么导致了这个错误 只需编写一个脚本,就可以使用谷歌脚本均匀地显示谷歌电子表格中的数据。但是,是的,似乎不能反向循环特定的值 请参阅下面我的注释代码,并提前感谢 简单地尝试通过数组进行循环。 当我被难倒的时候,我决定去学基础知识。作品记录器显示i上升1 function getInfo() { var sheet = SpreadsheetApp

我开始做一些事情,很早就遇到了一个障碍,用我有限的javascript知识在早期尝试思考解决问题的方法

我确信这是一件简单而烦人的事情,但我似乎看不出是什么导致了这个错误

只需编写一个脚本,就可以使用谷歌脚本均匀地显示谷歌电子表格中的数据。但是,是的,似乎不能反向循环特定的值

请参阅下面我的注释代码,并提前感谢

简单地尝试通过数组进行循环。 当我被难倒的时候,我决定去学基础知识。作品记录器显示i上升1

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values = sheet.getDataRange().getValues();


for(i=0;i < values.length;i++){
Logger.log([i]);

}
}
及时系好你的裤子,因为我们要求阵列提供数据, 循环前进。它起作用了。它返回数组中每个条目的整行

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values = sheet.getDataRange().getValues();


for(i=0;i < values.length;i++){
Logger.log([i]+" " + values[i]);

}
}
在穿上我的大男孩裤子之后,我正要在我的数组中记录一个条目

通过它向前循环。万岁了,裤子还是干净的,结果和预期的一样

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values = sheet.getDataRange().getValues();


for(i=0;i < values.length;i++){
Logger.log([i]+" " + values[i][16]);

}
}

考虑一下应该为“for”循环使用的索引。向后循环数组时,希望从最后一个索引开始,以第一个索引结束

您可能知道,数组
a
的最后一个索引是
a.length-1
,而第一个索引是
0
。您希望在循环中同时包含它们,因此要向后循环的代码是:

for (i = values.length - 1; i >= 0; i--) {
    Logger.log(i + " " + values[i][16]);
}

数组从索引0开始,因此数组中的最后一个索引的长度为-1,因此:

for(i=values.length;i > 0 ;i--){
应该是

for (i=values.length-1; i >= 0; i--){

啊,我现在想起来真是个白痴。当我意识到我的脚本不起作用时,我的感觉几乎和javascript将月份视为0-11一样。谢谢你的回复,伙计,如上所述,我在踢自己。但神秘先到了。
for (i = values.length - 1; i >= 0; i--) {
    Logger.log(i + " " + values[i][16]);
}
for(i=values.length;i > 0 ;i--){
for (i=values.length-1; i >= 0; i--){