我有以下测试代码来返回2个范围的值:
function myFunction() {
var sh = SpreadsheetApp.getActiveSpreadsheet();
var ss = sh.getActiveSheet();
var rangeList = ss.getRangeList(["A1:A5","C4:C8"]).getRanges();
var result = [];
for (var range in rangeList){
rangeList[range].getValues().map(function(e){result.push(e);});
}
result = result.map(function(e){return e[0];});\\flatten array
}
这很好但我必须压扁result
数组,因为map
循环中的for
函数返回其自己数组中的每个值。有没有人知道这方面的方法?似乎最后一行代码可能会以某种方式变得多余。
谢谢
也许你可以在第一个循环中将项目推送到0索引?
for (var range in rangeList){
rangeList[range].getValues().forEach(function(e){ result.push(e[0]); });
}