Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google脚本循环覆盖所有行_Javascript_Loops_Google Apps Script - Fatal编程技术网

Javascript Google脚本循环覆盖所有行

Javascript Google脚本循环覆盖所有行,javascript,loops,google-apps-script,Javascript,Loops,Google Apps Script,我已经编写了一个脚本,使用API从网站读取数据,我想将输出写在google表单中。json对象的每个ID有4个数据项,我想将它们写入4列C-F,从第2行开始一直写到第32行。我相信您的目标如下 您希望将单元格“C2”中的[当前价格、预测、需求、可用股票]的值放在活动工作表上 对于这个问题,这个答案如何 修改点: 在脚本中,该值将以for(i=2;i

我已经编写了一个脚本,使用API从网站读取数据,我想将输出写在google表单中。json对象的每个ID有4个数据项,我想将它们写入4列C-F,从第2行开始一直写到第32行。

我相信您的目标如下

  • 您希望将单元格“C2”中的
    [当前价格、预测、需求、可用股票]
    的值放在活动工作表上
对于这个问题,这个答案如何

修改点:
  • 在脚本中,该值将以
    for(i=2;i<33;i++){}
    每隔
    stockId
    放入电子表格。这样,旧值将被下一个值覆盖。我想这就是你的问题所在
  • 我认为在您的情况下,可以使用以下流程。
  • 在for循环之前准备一个数组
  • [当前价格、预测、需求、可用股票]
    的值放入数组
  • 当for循环完成时,数组被放入电子表格
通过该流,每个
stockId
的值被放入数组,然后数组被放入电子表格。当上述各点反映到脚本中时,它将变成如下所示

修改脚本:
函数myFunction(){
让值=[];//已添加
对于(让stockId=1;stockId<32;stockId++){
如果(stockId==24)继续;
var response=UrlFetchApp.fetch(“https://api.torn.com/torn/“+stockId+”?选择=股票和键=“+API”);
var content=response.getContentText();
var json=json.parse(内容);
var当前价格=json[“股票”][stockId][“当前价格”];
var forecast=json[“股票”][stockId][“预测”];
var demand=json[“股票”][stockId][“需求”];
var available_shares=json[“股票”][stockId][“available_shares”];
value.push([当前价格、预测、需求、可用股票];//已添加
}
var ss=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();//已添加
ss.getRange(“C2:F”+(values.length+1)).setValues(values);//添加
}
参考:
function myFunction() {

  let values = [];  // Added

  for (let stockId = 1; stockId < 32; stockId++) {
    if (stockId == 24) continue;
    var response = UrlFetchApp.fetch("https://api.torn.com/torn/" + stockId + "?selections=stocks&key=" + API);
    var content = response.getContentText();
    var json = JSON.parse(content);
    var current_price = json["stocks"][stockId]["current_price"];
    var forecast = json["stocks"][stockId]["forecast"];
    var demand = json["stocks"][stockId]["demand"];
    var available_shares = json["stocks"][stockId]["available_shares"];

    values.push([current_price,forecast,demand,available_shares]);  // Added
  }
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();  // Added
  ss.getRange("C2:F" + (values.length + 1)).setValues(values);  // Added
}