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

为什么输出不了结果?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>二维数组</title>

<script type="text/javascript">

var myarr=new Array();

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

    {myarr[i]=new Array()

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

     {

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

     }

     document.write(myarr[i][j])

    } 

</script>

</head>


<body>

</body>

</html>


提问者:慕粉1469604703 2016-08-30 16:29

个回答

  • vibrate
    2016-08-30 17:02:28
    已采纳

    循环部分有问题,document.write(myarr[i][j])应该放到第二个for循环内部,否则下标j没有定义,具体如下:

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

        {myarr[i]=new Array()

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

         {

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

    document.write(myarr[i][j])//应该在这里

         }

        // document.write(myarr[i][j])

        } 


  • 慕粉0010543692
    2016-08-30 17:37:31

    在你的循环体内,你循环的时候,第一项、第二项的没有初始值即undefined,所以每次拼接字符串的时候前面都有undefined。不知道说的清楚吗,希望能帮到你

  • 慕丝9908111
    2016-08-30 16:58:58

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

        {myarr[i]=new Array()

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

         {

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

      document.write(myarr[i][j])

         }

        }


  • 慕码人8968564
    2016-08-30 16:56:26

      document.write(myarr[i][j]),应该写在第二个循环里面即j循环里面

  • 慕粉123456099
    2016-08-30 16:54:48

    因为你把输出放进了第一个循环体里,每次输出的是myarr[0][6],myarr[1][6],这当然没有值了

    你把输出放进第二个循环体里再看看