问答详情
源自:3-7 二维数组

好懵逼 求大神帮忙分析下每行代码是什么意思

var myarr=new Array(3)
for(var i=0;i<3;i++){
    myarr[i]=new Array()
    for(var j=0;j<5;j++){
        myarr[i][j]=i*j
    }
    }

提问者:嗜甜怪 2016-10-26 21:40

个回答

  • 老友丶
    2016-10-26 22:28:12
    已采纳

    <!DOCTYPE html>

    <html>

     <head>

      <title>浏览器对象</title>  

      <meta charset="utf-8"/>   

     </head>

     <body> 

    <script type="text/javascript"> 

        var myarr=new Array();  //新建一个数组,名为myarr

        //将i,j初始为0,我好解释些

        for(var i=0;i<4;i++)

       {

       myarr[i]=new Array();  

    //将数组myarr的第i项,创建一个数组

        for(var j=0;j<6;j++)

       {

        myarr[i][j]=(i+1)*(j+1);

    //数组myarr的第i项是数组,所以他的第j项开始赋值,赋值为(i+1)*(j+1)

        document.write("myarr["+(i+1)+"]["+(j+1)+"]的值:"+myarr[i][j]+"<br>");

        }

       }

    /*

    这是一个二维数组的创建过程,先创建一个以为数组myarr[第一项,第二项,第三项,第四项]

    然后第一项也是一个数组myarr[0][]=[第一行第一列,第一行第二列,。。。。]

    最后得到的数组时[  [第一行第一列,第一行第二列,。。。。。]  [第二行第一列]     ]                                    ]

    */

    </script> 

    </body>

    </html>


  • 锻刀
    2016-11-02 17:35:52

    数组的下标是从0开始的,按你这个是代码写法应该是这样:

    var myarr=new Array();

    for(var i=1;i<4;i++)

       {

       myarr[i-1]=new Array();//从mymrr[0]开始

        for(var j=1;j<=6;j++) //如果是<6的话,就只有5个值了(3行5列)

       {

        myarr[i-1][j-1]=(i-1)*(j-1);//从0开始(当i=1时、j=1时,myarr[0][0]=0*0

        document.write("myarr["+(i--)+"]["+(j--)+"]的值:"+myarr[i][j]+"<br>");

        }

       }

    好麻烦啊,其实i、j就该从0开始

    我的代码,仅供参考

    <script type="text/javascript">

    var myarr=new Array();

    for(var i=0;i<3;i++){

      myarr[i]=new Array();

      document.write(i+"<br>");

      for(var j=0;j<6;j++){

          myarr[i][j]=i*j;

      }

    document.write("数组长度为:"+myarr.length+"<br>");

    for(var i=0;i<myarr.length;i++){

        document.write("NO."+i+":"+myarr[i]+"<br>");

    }

    </script>


  • 嗜甜怪
    2016-10-26 21:56:30

    var myarr=new Array();
    for(var i=1;i<4;i++)
       {
       myarr[i]=new Array();
        for(var j=1;j<6;j++)
       {
        myarr[i][j]=i*j;
        document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
        }
       }


    应该是这个 发错啦不好意思

  • gongshisong
    2016-10-26 21:54:02

    写的 不对吧  myarr[i]已经是一个值了 怎么还new array