繁体   English   中英

使用 Google Apps Script 将获取的 API 中的对象数组与分页合并

[英]merge array of objects from fetched API with pagination with Google Apps Script

我正在获取一个 URL。 完整的回复分布在五页上。

我正在遍历每个页面,它返回一个对象数组(如果我错了,请纠正我):

[{item_1=foo, item_2=bar, item_3=foobar, value_1=XX}, {item_1=bar, item_2=foo, item_3=barfoo, value_1=XX},etc...]

我想整合所有响应,就像它是一大堆对象一样。

到目前为止,我写了这个:

   for (i = 1; i <= total_pages; i++) {

    var rawResponse = UrlFetchApp.fetch(
    'url',
    {
      method: 'GET'
    })

   response[i] = JSON.parse(rawResponse);

    }

  var g = response[1].concat(response[2], response[3],response[4],response[5]);

g包含所需的输出; 但是,正如您所看到的,这不是动态的。 我该如何解决这个问题? 我可以使用 push 方法,但我会为每个响应返回一个新数组。

为了使您的代码“动态”,您可以在 for 循环内为每个页面使用 concat 函数。 对代码的可能修改如下所示,其中result变量将包含所有结果:

var result = [];

for (var i = 1; i <= total_pages; i++) {
  var rawResponse = UrlFetchApp.fetch(
    'url',
    {
      method: 'GET'
    }
  );

  var current = JSON.parse(rawResponse);
  result = result.concat(current);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM