我从谷歌表的单列中得到了一个数组,比如[[23],[25],[26],[89],[""],[45],[78],[62],[""],[123],[45],[68]]我如何用空值拆分它[]并获得每个子数组的总和,比如 ( 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],[25],[26],[89],[""],[45],[78],[62],[""],[123],[45],[68]]
var sums = [];
var sum = 0;
// iterate through the array
for (var i = 0; i < arr.length; i ++) {
if (arr[i].length == 0 || 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]
}
我哪里错了,我该如何解决?
大话西游666
波斯汪
相关分类