我想使用 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/