Google Apps 脚本函数输出不能存储在变量中
Google Apps Script Function output can not be stored in a variable
我有一个数组,我想展平它以便对其进行迭代。我得到数组,然后使用以下函数将其展平:
var Array = ss.getRange("G2:G").getValues(); ArrayFlat = flatten(Array);
展平辅助函数
function flatten(array) {
var flattenedArray = [];
for (var i = 0; i < array.length; i++) {
flattenedArray.push(array[i][0])
}
return flattenedArray;
}
我希望后面两个日志的输出相同,但我得到了不同的日志。
function test() {
Logger.log(Array) // unflattened array
Logger.log(flatten(Array)) // flattended array
Logger.log(ArrayFlat) // []
}
谁能指出正确的方向,即错误所在?
编辑:我有解决问题的方法 (flat()),但没有回答我的问题,即为什么我的日志输出如此不同?!
尝试:
ss.getRange("G2:G").getValues().flat();
function flatten() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Sheet0");
const array = ss.getDataRange().getValues();
var fA = [];
if(array.length) {
array.forEach((r,i) => {
if(array[i].length) {
r.forEach((c,j) => {
fA.push(c);
})
}
})
} else {
fA.push(r[0])
}
Logger.log(JSON.stringify(fA));
}
我有一个数组,我想展平它以便对其进行迭代。我得到数组,然后使用以下函数将其展平:
var Array = ss.getRange("G2:G").getValues(); ArrayFlat = flatten(Array);
展平辅助函数
function flatten(array) {
var flattenedArray = [];
for (var i = 0; i < array.length; i++) {
flattenedArray.push(array[i][0])
}
return flattenedArray;
}
我希望后面两个日志的输出相同,但我得到了不同的日志。
function test() {
Logger.log(Array) // unflattened array
Logger.log(flatten(Array)) // flattended array
Logger.log(ArrayFlat) // []
}
谁能指出正确的方向,即错误所在?
编辑:我有解决问题的方法 (flat()),但没有回答我的问题,即为什么我的日志输出如此不同?!
尝试:
ss.getRange("G2:G").getValues().flat();
function flatten() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Sheet0");
const array = ss.getDataRange().getValues();
var fA = [];
if(array.length) {
array.forEach((r,i) => {
if(array[i].length) {
r.forEach((c,j) => {
fA.push(c);
})
}
})
} else {
fA.push(r[0])
}
Logger.log(JSON.stringify(fA));
}