arrays - 数组未正确写入谷歌表
问题描述
我正在运行一些循环以生成一个数组,当我在记录器中查看数组时,它似乎是正确的,但是当我尝试将数组写入谷歌表本身时,它只写入数组每一行的第一个值。
function testMA(){
var optionMin = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("N1").getValue();
var optionMax = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("N2").getValue();
var MA1Min = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("J1").getValue();
var MA1Max = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("J2").getValue();
var MA2Min = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("L1").getValue();
var MA2Max = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("L2").getValue();
var outputArray = [];
for (let optionL = optionMin; optionL<=optionMax; optionL++){
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("N5").setValue(optionL);
for (let MA1 = MA1Min; MA1<=MA1Max; MA1++){
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("I5").setValue(MA1);
for (let MA2 = MA2Min; MA2<=MA2Max;MA2++){
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("J5").setValue(MA2);
var output = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("Q7:V7").getValues();
outputArray.push(output);
Logger.log(outputArray);
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(9,17,outputArray.length,outputArray[0].length).setValues(outputArray);
}
}
}
记录器正确地将值显示为: 记录器值
然而,工作表中的输出是:工作 表值
因此每次只代表第一个值。我该如何纠正这个问题?
解决方案
推荐阅读
- sql - PSQL:如何成功提取信息并收集特定列中的所有值
- ruby-on-rails - 在rails 5上的ruby上显示wicked_pdf上的记录?
- java - 放心 - 在数组中发送 pojo
- javascript - 当试图从对象中获取属性时,得到 UNDEFINED
- python-2.7 - 使用 gmail 设置的 Python smtp 失败
- python - Python Web 浏览器 HTTP 标头
- dictionary - 从 mapshaper.org 缩小 d3 地图
- android - 如何使应用程序的名称在android中可移动?
- linux - 如何检索位于bash中模式之后的字符串
- amazon-web-services - 在堆栈更新时保留输出