如何优化这个Javascript函数 Function\u Dataset\u A\u D(){ var ss=电子表格应用程序openById(“xxx”); var source=ss.getSheetByName(“值”); var lrS=source.getLastRow(); var rangeSourceA=source.getRange(2,1,lrS,4); var catA=rangeSourceA.getValues(); var target=ss.getSheetByName(“数据集”); target.getRange(“A2:D”).clearContent(); 对于(i=0;i
我希望优化此代码以在更短的时间内运行。我认为循环部分是主要问题。我相信您的目标如下如何优化这个Javascript函数 Function\u Dataset\u A\u D(){ var ss=电子表格应用程序openById(“xxx”); var source=ss.getSheetByName(“值”); var lrS=source.getLastRow(); var rangeSourceA=source.getRange(2,1,lrS,4); var catA=rangeSourceA.getValues(); var target=ss.getSheetByName(“数据集”); target.getRange(“A2:D”).clearContent(); 对于(i=0;i,javascript,google-apps-script,Javascript,Google Apps Script,我希望优化此代码以在更短的时间内运行。我认为循环部分是主要问题。我相信您的目标如下 您希望降低脚本的处理成本 修改点: 在本例中,我建议将catA的值放入一个数组中30次。然后,将数组放入电子表格中。这样,我认为工艺成本可能会降低 顺便说一下,在脚本中,var rangeSourceA=source.getRange(2,1,lrS,4)被使用。在这种情况下,将空行添加到最后一行的下一个rof 当上述各点反映到脚本中时,它将变成如下所示 修改脚本: function\u Dataset\
- 您希望降低脚本的处理成本
- 在本例中,我建议将
的值放入一个数组中30次。然后,将数组放入电子表格中。这样,我认为工艺成本可能会降低catA
- 顺便说一下,在脚本中,
var rangeSourceA=source.getRange(2,1,lrS,4)代码>被使用。在这种情况下,将空行添加到最后一行的下一个rof
function\u Dataset\u A\u D(){
var ss=电子表格应用程序openById(“xxx”);
var source=ss.getSheetByName(“值”);
var lrS=source.getLastRow();
var rangeSourceA=source.getRange(2,1,lrS-1,4);//修改
var catA=rangeSourceA.getValues();
var target=ss.getSheetByName(“数据集”);
target.getRange(“A2:D”).clearContent();
//我修改了下面的脚本。
var-ar=[];
对于(i=0;i<30;i++){
ar=ar.concat(catA);
}
target.getRange(1,1,ar.length,ar[0].length).setValues(ar);
}
参考资料:
Function_Dataset_A_D() {
var ss = SpreadsheetApp.openById("xxx");
var source = ss.getSheetByName("value");
var lrS = source.getLastRow();
var rangeSourceA = source.getRange(2,1,lrS,4);
var catA = rangeSourceA.getValues();
var target = ss.getSheetByName("dataset");
target.getRange("A2:D").clearContent();
for (i = 0; i < 30; i++){
var avals = target.getRange("C1:C").getValues().filter(String).length+1;
target.getRange(avals, 1, catA.length, catA[0].length).setValues(catA);
}
};
function Function_Dataset_A_D() {
var ss = SpreadsheetApp.openById("xxx");
var source = ss.getSheetByName("value");
var lrS = source.getLastRow();
var rangeSourceA = source.getRange(2,1,lrS - 1,4); // Modified
var catA = rangeSourceA.getValues();
var target = ss.getSheetByName("dataset");
target.getRange("A2:D").clearContent();
// I modified below script.
var ar = [];
for(i=0; i < 30; i++){
ar = ar.concat(catA);
}
target.getRange(1, 1, ar.length, ar[0].length).setValues(ar);
}