javascript - 使用 getValues 填充多维数组

标签 javascript google-apps-script google-sheets

我想使用 getValues 用 3 个连续单元格的值填充一个多维数组,但是当我这样做时,我似乎得到了一组额外的括号,阻止我以后按预期使用数组在代码中。

var finalsArray = [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]];

var x = 0;

for(var i = 4; i <= finalsLastRow; i++) {

 finalsArray[x] = finalsSheet.getRange(i, 7, 1, 3).getValues();

 x++;

}

使用此方法,finalsArray[x] 返回 [[88.0, 95.0, 43412HOUOKC]]。

但我希望 finalsArray[x] 返回 [88.0, 95.0, 43412HOUOKC]。

如果我为每个单元分别使用 getValue 单独填充数组(见下文),我能够实现这一点并摆脱无关的括号,但我很想优化我的代码并理解为什么 getValues 不起作用。

var finalsArray = [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]];

var x = 0;

for(var i = 4; i <= finalsLastRow; i++) {

 finalsArray[x][0] = finalsSheet.getRange(i, 7).getValue();
 finalsArray[x][1] = finalsSheet.getRange(i, 8).getValue();
 finalsArray[x][2] = finalsSheet.getRange(i, 9).getValue();

 x++;

}

非常感谢你们提供的任何帮助。

瑞安

最佳答案

就地引用返回值的第一个元素

for(var i = 4; i <= finalsLastRow; i++) {
 finalsArray[x] = finalsSheet.getRange(i, 7, 1, 3).getValues()[0];
 x++;
}

关于javascript - 使用 getValues 填充多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53213561/

相关文章:

javascript - 我不明白为什么我会收到此错误

javascript - 更改对象中的值反射(reflect)了整个对象的最后更改。 (谷歌应用程序脚本)

google-apps-script - 在 Google Apps 脚本中列出 YouTube channel 的所有视频

google-sheets - Google表格查询错误: "Result too large".如何解决?

javascript - ajaxcontroltoolkit JavaScript错误: Microsoft JScript runtime error: 'AjaxControlToolkit' is undefined

javascript - Google 翻译,输入类型 ='text' 中的占位符文本

google-apps-script - Google Apps 脚本 : Not found 的失败摘要

google-apps-script - 使用 google java 客户端复制电子表格后,自定义 google 应用程序脚本不起作用

javascript - 如何获取 Node.js 类和 socket.io 事件上下文?

javascript - jQuery? : (. tolowercase .replace text.match) 当 URL 不可用时不起作用