如何将数组数组作为行转换为数组数组作为JavaScript中的列?

时间:2015-11-05 22:54:24

标签: javascript arrays function

这个问题让我难以在标题中总结,所以如果它有误导性,我很抱歉。

我有一个数组格式如下:

array = [ [1,2,3,4,5,6,7,8,9],
          [2,3,4,5,6,7,8,9,1],
          [3,4,5,6,7,8,9,1,2],
          [1,2,3,4,5,6,7,8,9],
          [2,3,4,5,6,7,8,9,1],
          [3,4,5,6,7,8,9,1,2],
          [1,2,3,4,5,6,7,8,9],
          [2,3,4,5,6,7,8,9,1],
          [3,4,5,6,7,8,9,1,2]]

正如您所看到的那样,它本质上是一个表,其中子数组作为表中的行。

我想创建一个接收主阵列的函数,并且基本上顺时针旋转90度。所以新的子数组是每个数组的第一个索引,每个数组的第二个索引,每个数组的第三个索引等...... (我希望我的新主数组包含此数据集中每列的数组)。

谢谢!

1 个答案:

答案 0 :(得分:1)

我使用临时数组newArray来保存结果多维数组。 (假设:如问题示例所示,主数组大小和内容数组的大小应该相同)。

var newArray = [];
for(var i = 0; i < array.length; i++) {
    for(var j= 0; j < array.length; j++) {
        newArray[j] = newArray[j] || [];
        newArray[j][i] = array[i][j];
    }
}
console.log(newArray);