gpt4 book ai didi

javascript - 向后循环数组时出错

转载 作者:行者123 更新时间:2023-11-28 11:34:26 26 4
gpt4 key购买 nike

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

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

只是编写一个脚本,最终使用 Google 脚本显示来自 Google 电子表格的数据。但是,是的,似乎无法反向循环特定值。

请参阅下面我带注释的代码并提前致谢。

简单地尝试向前循环数组。因为我被难住了,所以决定从基础开始。作品。记录器显示 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=values.length;i > 0 ;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]);

}
}

让我们进行月球漫步并再次尝试反向循环。因为我很坏,我很坏,嘻嘻,oww。它有效:)

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


for(i=values.length;i > 0 ;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]);

}
}

那么为什么哦为什么同样的工作不能反向工作并且总是引发错误“(类型错误:无法从未定义中读取属性“16”。(第 69 行,文件“Code”)关闭”下面代码中的第 69 行是 ( Logger.log([i]+ ""+ values[i][16]); )。

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


for(i=values.length;i > 0 ;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]);
}

关于javascript - 向后循环数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28204680/

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