返回2D数组的特定行并写入Range



我在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(((接受什么?

最新更新