Javascript 谷歌电子表格脚本-如何转换/旋转多维数组?
我试图创建一个函数,它接受任何数组并将其转置,以便行变为列,列变为行 不确定我做错了什么或遗漏了什么,但在阵列通过后继续收到此消息 TypeError:无法将未定义的属性“0.0”设置为“xxxxxx” 错误在线 结果[行][列]=数组[列][行];//轮换 任何指针都将不胜感激Javascript 谷歌电子表格脚本-如何转换/旋转多维数组?,javascript,google-apps-script,multidimensional-array,google-sheets,transpose,Javascript,Google Apps Script,Multidimensional Array,Google Sheets,Transpose,我试图创建一个函数,它接受任何数组并将其转置,以便行变为列,列变为行 不确定我做错了什么或遗漏了什么,但在阵列通过后继续收到此消息 TypeError:无法将未定义的属性“0.0”设置为“xxxxxx” 错误在线 结果[行][列]=数组[列][行];//轮换 任何指针都将不胜感激 function transposeArray(array){ var result = []; for(var row = 0; row < array.length; row+
function transposeArray(array){
var result = [];
for(var row = 0; row < array.length; row++){ // Loop over rows
for(var col = 0; col < array[row].length; col++){ // Loop over columns
result[row][col] = array[col][row]; // Rotate
}
}
return result;
}
函数数组(数组){
var结果=[];
对于(var row=0;row
首先需要为外部结果数组中的每个元素分配一个数组对象。也许有更有效的方法,但我会想:
function transposeArray(array){
var result = [];
for (var col = 0; col < array[0].length; col++) { // Loop over array cols
result[col] = [];
for (var row = 0; row < array.length; row++) { // Loop over array rows
result[col][row] = array[row][col]; // Rotate
}
}
return result;
}
函数数组(数组){
var结果=[];
对于(var col=0;col
我个人最喜欢的是:
我找到了这样的方法:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("SEGUNDOA2E");
var notas = sheet.getRange("G6:AK6").getNotes();
for (var i = 0; i < 31; i++){
var nota = notas[0][i];
var conceptos = sheet.getRange(37+i,7).setValue(nota);
}
}
函数onOpen(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“SEGUNDOA2E”);
var notas=sheet.getRange(“G6:AK6”).getNotes();
对于(变量i=0;i<31;i++){
var nota=notas[0][i];
var conceptos=sheet.getRange(37+i,7).setValue(nota);
}
}
希望这有帮助。我用请求函数公式解决了:
var RanMar = HojaResp.getRange("H1:X1"); // Se establece rango para las marcas de cemento.
var Rango2 = HojaInfo.setActiveCell("B3"); // Temporal
Rango2.setFormula('=transpose(Respuestas!H1:X1)');
非正统,但对我来说很实用
问候,
哈罗德·鲍蒂斯塔漂亮极了。非常感谢。
var RanMar = HojaResp.getRange("H1:X1"); // Se establece rango para las marcas de cemento.
var Rango2 = HojaInfo.setActiveCell("B3"); // Temporal
Rango2.setFormula('=transpose(Respuestas!H1:X1)');