我在Google Script中的数组有问题。例如,我只想返回2D数组的第一行。我尝试过添加"[0]"来获取数组的第一行,但它不起作用。我想要的输出应该是A30=Lisa,B30=1,C30=1991
function testArray() {
var sht_test = SpreadsheetApp.getActive().getSheetByName('Test');
var myArray = [
['Lisa',1,1991],
['Tim', 2,1989]
];
sht_test.getRange('A20:C21').setValues(myArray); // returning the complete array works
//this doesnt work...
sht_test.getRange('A30:C30').setValues(myArray[0]);
}
问题/解释:
setValues((接受类似myArray
:的2D数组
var myArray = [
['Lisa',1,1991],
['Tim', 2,1989]
];
但是,myArray[0]
将为您提供1D阵列:
['Lisa',1,1991]
要使其2D,只需使用[]
:即可
[['Lisa',1,1991]]
这可能看起来很奇怪,但您必须将其设置为2D,因为这是setValues((所接受的。
解决方案:
使用这个替代:
sht_test.getRange('A30:C30').setValues([myArray[0]]);
高度相关:
range方法getValues((返回和setValues(((接受什么?