【发布时间】:2023-11-10 14:04:01
【问题描述】:
我正在根据从外部端点获取的数据填充电子表格。一切正常,但 for...in 循环的执行速度非常慢。
我从UrlFetchApp 返回的对象非常大; Object.keys().length > 1500,所以可能只是对象的大小。
我很好奇是否有办法优化我的功能。
代码:
var sh = SpreadsheetApp.getActiveSheet();
function getData() {
var response = UrlFetchApp.fetch(endpoint);
var data = JSON.parse(response);
var rates = data["quotes"];
var max = Object.keys(rates).length;
var row = 2;
var i = 0;
clear(); //clears the range A2:B
for (var key in rates) {
sh.getRange("A" + (i+row)).setValue(key.substring(3));
sh.getRange("B" + (i+row)).setValue(rates[key]);
i++
if (i+1 === max) {
//do something after complete
}
}
}
【问题讨论】:
标签: javascript performance optimization google-apps-script google-sheets