jas*_*son 3 google-sheets google-apps-script
我在使用应用程序脚本的谷歌电子表格中有二维数组问题。
我知道要使代码最快,我应该尽可能少地使用 get 和 set 函数。所以我试图首先将整个工作表读入一个二维数组,然后引用它的一部分。除了我不确定如何引用二维数组。
这是我到目前为止所做的。
var ss = SpreadsheetApp.getActiveSpreadsheet()
var COMPANYIOSheet=ss.getSheetByName("Sheet1");
var IO_array= COMPANYIOSheet.getRange("A1:c10").getValues();
Run Code Online (Sandbox Code Playgroud)
我想做类似的事情:
var subarray=IO_array[3:5][1];
Run Code Online (Sandbox Code Playgroud)
但这不起作用。我似乎只能引用一点,即:
var subarray=IO_array[3][1];
Run Code Online (Sandbox Code Playgroud)
我如何切片成一个子二维数组?
谢谢。
我如何切片成一个子二维数组?
通过使用slice(). ;-)
var subarray=IO_array.slice(2, 5);
Run Code Online (Sandbox Code Playgroud)
然后就可以参考了subarray[i][1]。如果您需要创建一个只有“第二列”的新数组,则需要使用一些迭代。
编辑:添加到 Serge 的添加中,并回复您的评论,这是从数组返回 2D 子数组的一般方法:
function slice2d(array, rowIndex, colIndex, numRows, numCols) {
var result = [];
for (var i = rowIndex; i < (rowIndex + numRows); i++) {
result.push(array[i].slice(colIndex, colIndex + numCols));
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4911 次 |
| 最近记录: |