zoukankan      html  css  js  c++  java
  • javascript学习4-练习之1转置矩阵

    1.做了个小小练习,对矩阵进行转置对不规则的二维数组进行行列互换(不规则二维数组不存在有转置矩阵一说)。用以加深对二维数组的理解。

    2.效果图如下:

    3.两种方式的代码分别如下:

    3.1规则矩阵转置:

     1 //规则转置
     2 var array2=[[1,2,3],[4,5,6]];
     3 var array22=new Array();
     4 array22[0]=new Array(2);
     5 array22[1]=new Array(2);
     6 array22[2]=new Array(2);
     7 //进行转置动作
     8 for(var i=0;i<array2.length;i++)
     9 {
    10     for(var j=0;j<array2[i].length;j++)
    11     {
    12         array22[j][i]=array2[i][j];
    13     }        
    14 }
    15 for (var i=0;i<array2.length ;i++ )
    16 {
    17     for (var j=0;j<array2[i].length ;j++ )
    18     {
    19         document.writeln(array2[i][j]+"&nbsp");
    20     }
    21     document.writeln("<br/>");
    22 }
    23 document.writeln("<br/><br/>转置后的数据:<br/>");
    24 for (var i=0;i<array22.length ;i++ )
    25 {
    26     for (var j=0;j<array22[i].length ;j++ )
    27     {
    28         document.writeln(array22[i][j]+"&nbsp");
    29     }
    30     document.writeln("<br/>");
    31 }

    3.2 不规则二维数组转置

     1 var array2=[[1,2,3],[4,5,6],[7,8,9],[10,11]];
     2 var array22=new Array();
     3 var maxRows=array2[0].length;
     4 var cols=new Array();
     5 //创建那个转置的数组
     6 for(var i=0;i<array2.length;i++)
     7 {
     8  //获取每行的列数
     9     cols[i]=array2[i].length;
    10     if(maxRows<cols[i])
    11     {    
    12      maxRows=cols[i];
    13     }
    14 }
    15 for(var i=0;i<maxRows;i++)
    16 {
    17 array22[i]=new Array();
    18 }
    19  
    20 for(var i=0;i<array2.length;i++)
    21 {
    22     for(var j=0;j<array2[i].length;j++)
    23     {
    24         array22[j][i]=array2[i][j];
    25     }        
    26 }
    27 
    28 document.writeln("<br/><br/>转置前的数据:<br/>");
    29 for (var i=0;i<array2.length ;i++ )
    30 {
    31     for (var j=0;j<array2[i].length ;j++ )
    32     {
    33         document.writeln(array2[i][j]+"&nbsp&nbsp&nbsp&nbsp");
    34     }
    35     document.writeln("<br/>");
    36 }
    37 document.writeln("<br/><br/>转置后的数据:<br/>");
    38 for (var i=0;i<array22.length ;i++ )
    39 {
    40     for (var j=0;j<array22[i].length ;j++ )
    41     {
    42         document.writeln(array22[i][j]+"&nbsp&nbsp&nbsp&nbsp");
    43     }
    44     document.writeln("<br/>");
    45 }
  • 相关阅读:
    [ES6] 15. Generators -- 2
    [ES6] 14. Generator -- 1. yield & next()
    [ES6] 13. Using the ES6 spread operator ...
    [ES6] 12. Shorthand Properties in ES6
    [ES6] 11. String Templates
    计算机-DB:OLAP(联机分析处理)
    计算机-事务:OLTP(联机事务处理过程)
    软件-数据库-分布式:HBase
    架构-分布式:Hadoop
    计算机-数据仓库:DW/DWH
  • 原文地址:https://www.cnblogs.com/luckyflower/p/3699422.html
Copyright © 2011-2022 走看看