谷歌应用程序脚本-数据没有打印对应的键

google app script- data not printing corresponding to their keys

本文关键字:打印 应用程序 脚本 数据 谷歌      更新时间:2023-09-26

在我的API中,我几乎没有什么东西,比如假设公司名称,并在从API获取后以排序的形式打印它们,但它们的相应URL.sarent被打印为公司名称也就是说,我已经对对象中的键进行了排序,并按升序打印,但这些键的值并没有打印到那些键

URL的打印顺序与其在API中的打印顺序相同,但密钥,我已经按加速顺序对它们进行了排序以打印我无法从对象打印与密钥相关的值

功能在这里:

function fetchFromApi() {
  var url = '<My API from where am fetching the data>';
  var urlResponse = UrlFetchApp.fetch(url);
  var urlResult = JSON.parse(urlResponse);
  var key = Object.keys(urlResult);
  var tempArr = [];
  for (var x in urlResult) {
  var value = urlResult[x];
  value = value.replace(/''/g, '');
  tempArr.push([value])
  }
  inputSheet.getRange(2,6,tempArr.length,1).setValues(tempArr);
  printData();
}
function printData() {
  keys.sort();
  key = [];
  for (var i=0; i<keys.length; i++) {
  key[i] = [];
  key[i][0] = keys[i];
  }
  var range = inputSheet.getRange(2, 1, key.length, 1);
  range.setValues(key);
  }

您可以尝试将键和值写入工作表,然后使用range.sort(col)进行排序。

在fetchFromApi((中的for循环中,在tempArr.push([value])之后执行key.push([x])。在循环结束时,将key写入inputSheet的第1列,并将tempArr写入第6列。然后,你可以做

var range = inputSheet.getRange(2, 1, key.length, 6);
range.sort(1);

它根据列1中键的值按升序对列1和6之间的所有内容进行排序。有关range.sort(sortSpecObj)的参考信息,请参见下文。

https://developers.google.com/apps-script/reference/spreadsheet/range#sortsortspecobj