如何转置/旋转多维数组?

新手上路,请多包涵

我正在尝试创建一个接受任何数组并将其转置的函数,以便行变成列,列变成行。

不确定我做错了什么或遗漏了什么但是一旦阵列通过……

类型错误:无法将未定义的属性“0.0”设置为“xxxxxx”。

错误在线

result[row][col] = array[col][row]; // Rotate

任何指针将不胜感激。

 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;
    }

原文由 user1488934 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 383
1 个回答

我个人最喜欢的是 这个要点

 function transpose(a)
{
  return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}

原文由 Mogsdad 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏