我正在尝试使用Google Apps Script在Google表格中插入一些值,但是当我扩展之前定义的范围时,它只返回第一个值。
我期望
我期望
我确保数组的
这个一个星期前还好好的...我猜下一步就是直接在.getRange()方法内定义范围,但这样我就无法保持代码的DRY了 :(
以下是代码:
我期望
Logger.log(...pasteAndFormatRange);
,Logger.log(pasteAndFromatRange.flat()
,以及Logger.log(pasteAndFormatRange[0], pasteAndFormatRange[1], pasteAndFormatRange[2], pasteAndFormatRange[3]);
返回2.0, 1.0, 626.0, 9.0
,但实际上只返回2.0
。我期望
Logger.log(pasteAndFormatRange);
和Logger.log([...pasteAndFormatRange]);
返回[2.0, 1.0, 626.0, 9.0]
,它确实返回了这个结果。我确保数组的
typeof
确实是一个object
。我尝试了多种方式从这个数组创建一个新数组,但新数组的行为方式相同。这个一个星期前还好好的...我猜下一步就是直接在.getRange()方法内定义范围,但这样我就无法保持代码的DRY了 :(
以下是代码:
let pasteAndFormatRange;
if (action === 'override') {
pasteAndFormatRange = [2, 1, target.getLastRow()-1, target.getLastColumn()];
}
Logger.log(pasteAndFormatRange); // returns [2.0, 1.0, 626.0, 9.0]
Logger.log([...pasteAndFormatRange]); // returns [2.0, 1.0, 626.0, 9.0]
Logger.log(...pasteAndFormatRange); // returns 2.0
Logger.log(pasteAndFormatRange[0], pasteAndFormatRange[1], pasteAndFormatRange[2], pasteAndFormatRange[3]); // returns 2.0
target.getRange(...pasteAndFormatRange).setValues(data.slice(1));