【发布时间】:2020-03-28 13:55:00
【问题描述】:
我从谷歌表格的单列中得到了一个数组,例如[[23.0], [25.0], [26.0], [89.0], [], [45.0], [78.0], [62.0], [], [123.0], [45.0], [68.0]]
如何用空值 [] 拆分它并获得每个子数组的总和,例如 (163/185/236) 或更多,因为数组长度可能超过 1000,包括 20-50 个空值?
我从答案中修改了脚本。但它在我的情况下不起作用。我不明白为什么?
function getSums(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('TemplateTest');
var r = sh.getRange(1, 1, sh.getLastRow());
var arr = r.getValues(); //log: [[23.0], [25.0], [26.0], [89.0], [], [45.0], [78.0], [62.0], [], [123.0], [45.0], [68.0]]
var sums = [];
var sum = 0;
// iterate through the array
for (var i = 0; i < arr.length; i ++) {
if (arr[i].length == null || i == arr.length - 1) {
// empty array, push sum to array and reset
sums.push(sum);
sum = 0;
} else {
// array has values, sum them up and add to sum
sum += arr[i].reduce((a, b) => a + b);
}
}
Logger.log(sums) //log: [16345786212345]
}
【问题讨论】:
标签: javascript google-apps-script google-sheets