小编Jas*_*rpy的帖子

从应用程序脚本中的二维数组中提取选定列的最佳方法

我在谷歌应用程序脚本中工作。如果我从范围 A1:E5 开始,那就是一个 5x5 数组。我想返回范围 C1:D5,一个 5x2 数组。从一个二维数组开始,只返回选定的“列”。基本上就是这样。我认为这是一项基本操作,但我真的很挣扎。我在下面有我的代码,但我对任何使用数组(不是范围,以避免不必要地 ping 服务器)的选项持开放态度。请注意,我确实希望能够为列传递数组参数,因此 [2,3,4] 或 [2] 或 [3,4],而不仅仅是单个或静态值。谢谢你的帮助。

/**
 * extracts selected 'columns' (2nd dimension) from 2d array
 *
 * @arr {array} larger 2d array to be subset
 * @cols {array} subset of columns, eg, [3,4]
 * @return 2d array with only selected cols
 * @customfunction
 */
function getCols(arr,cols) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();  

  var arrRows = [];
  var arrCols = [];
  
  for(var r=0;r<arr.length;r++){
    arrCols = [];// reset snippet
  for(var c=0;c<cols.length;c++){
    arrCols.push([arr[r][cols[c]]]); // …
Run Code Online (Sandbox Code Playgroud)

arrays extract subset slice google-apps-script

1
推荐指数
1
解决办法
788
查看次数

标签 统计

arrays ×1

extract ×1

google-apps-script ×1

slice ×1

subset ×1