【发布时间】:2021-12-16 02:06:22
【问题描述】:
我有一个谷歌电子表格,它通过谷歌表单获取数据。 每次记录表单时,它都会触发一个脚本,该脚本使用以下命令从某个部分获取值:
var tabNumsVal = sheet.getSheetValues(lastRow, tabOneCol.getColumn(), 1, 6)[0];
当我检查数组时,我可以看到数组的值如下:
0:12
1:24
2:26W
3:0
4:0
5:0
但是,当我使用以下命令时,它将索引号(0 到 5)放入数组而不是数组中的值。
var tabNumsFinal = [];
for (var tabard in tabNumsVal) {
if (tabard !== "") {
tabNumsFinal.push(tabard);
}
}
它曾经可以工作,但我不得不将我的代码升级到 Google Script v8,这似乎破坏了代码。 我不得不将 'for each' 代码块更改为 'for' 代码块,这似乎以不同的方式处理值。
我很确定这对很多人来说很简单,但我真的每年只接触 Google Script 1 次。我曾尝试使用Logger.log(tabard) 将数据输出到执行日志,但它只是遍历代码并没有输出任何内容。我想这可能是因为 !== "" 运算符,所以我把它放在 if 语句之上,但仍然在 for 语句中,它仍然没有输出任何内容。
我尝试使用Logger.log(tabNumsVal) 和Logger.log(tabNumsFinal),但它再次没有输出。
回顾一下: 表单中的数据正确返回到电子表格的列中,因此它正确显示在数组中。只是输出的是索引号而不是数组中的值。
【问题讨论】:
标签: arrays for-loop google-apps-script google-sheets