Javascript 谷歌电子表格脚本-如何转换/旋转多维数组?

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+

我试图创建一个函数,它接受任何数组并将其转置,以便行变为列,列变为行

不确定我做错了什么或遗漏了什么,但在阵列通过后继续收到此消息

TypeError:无法将未定义的属性“0.0”设置为“xxxxxx”

错误在线

结果[行][列]=数组[列][行];//轮换

任何指针都将不胜感激

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)');