CRB*_*CRB 2 javascript google-apps-script
在Google表格中,我有一个自定义表单,该表单基于我在网上找到的一些帖子/博客,以了解有关Google App脚本的更多信息。表单可以正常工作,但是我在为行创建ID的列时遇到了麻烦。
从我的阅读看来,我的问题似乎是math.max()需要一个列表而不是一个数组。此外,我发现用于常规Javascript的方法似乎都无法在Google Apps脚本中使用。例如math.max.apply(null,array)。
我是否需要迭代数组,或者是否可以使max()接受数组?
这是我一直在玩的代码。
function itemAdd(form) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var sh = SpreadsheetApp.getActiveSheet();
var lRow = sh.getLastRow();
var range = sh.getRange(3,1,lRow,1);
var maxNum = Math.max(range)
sheet.appendRow([maxNum,form.category, form.item, form.manupub,
form.details, form.quantity]);
return true;
}
Run Code Online (Sandbox Code Playgroud)
您可以Math.max.apply()在GAS上使用。而由getValues()检索的数据是一个二维数组。因此,为了将数据用于Math.max.apply(),必须将数组展平。通过反映这一点,可以如下修改示例脚本。
function itemAdd(form) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var sh = SpreadsheetApp.getActiveSheet();
var lRow = sh.getLastRow();
var range = sh.getRange(3,1,lRow,1);
var ar = Array.prototype.concat.apply([], range.getValues());
var maxNum = Math.max.apply(null, ar);
sheet.appendRow([maxNum,form.category, form.item, form.manupub, form.details, form.quantity]);
return true;
}
Run Code Online (Sandbox Code Playgroud)
如果我误解了您的问题,对不起。
| 归档时间: |
|
| 查看次数: |
2221 次 |
| 最近记录: |