从范围列表中返回值,而不必在事后展平

问题描述 投票:0回答:1

我有以下测试代码来返回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函数返回其自己数组中的每个值。有没有人知道这方面的方法?似乎最后一行代码可能会以某种方式变得多余。

谢谢

javascript google-apps-script google-sheets
1个回答
1
投票

也许你可以在第一个循环中将项目推送到0索引?

for (var range in rangeList){
  rangeList[range].getValues().forEach(function(e){ result.push(e[0]); });
}
© www.soinside.com 2019 - 2024. All rights reserved.