问答详情
源自:4-10 编程练习

为什么这段代码没有输出?

这段代码哪里有错误吗?

<!DOCTYPE  HTML>

<html >

<head>

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

<title>流程控制语句</title>

<script type="text/javascript">

var infos=[['小A','女',21,'大一'],

           ['小B','男',23,'大三'],

           ['小C','男',24,'大四'],  

           ['小D','女',21,'大一'],

           ['小E','女',22,'大四'], 

           ['小F','男',21,'大一'],

           ['小G','女',22,'大二'],  

           ['小H','女',20,'大三'],

           ['小I','女',20,'大一'],  

           ['小J','男',20,'大三']];


 //第一步把之前的数据写成一个数组的形式,定义变量为 infos

 var dayi=new Array();

 var nvsheng=new Array();

 var j=0,n=0;

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

 {

     if(infos[i][3]=="大一")

     {

         var dayi[j]=new Array();

         dayi[j]=infos[i];

         j++;

     }

 

 //第一次筛选,找出都是大一的信息

    if(infos[i][1]=="女")

     {

         var nvsheng[n]=new Array();

         dayi[n]=infos[i];

         n++;

     }

 }

 //第二次筛选,找出都是女生的信息

 for(i=0;i<=j;i++){

     document.write(dayi[i]+"<br/>");

 }

 for(i=0;i<=n;i++){

     document.write(nvsheng[i]+"<br/>");

 }

 

  

</script>

</head>

<body>

</body>

</html>


提问者:ohitisme 2016-10-19 10:49

个回答

  • Shero_25
    2016-10-19 12:51:28
    已采纳

    你上面已经声明了dayi 和 nvsheng 下面就不用再写了 直接赋值就可以 var dayi[j]=new Array(); 而且这样写也是错误的 还有下面的循环都应该是< 不是<=

  • 慕粉4228637
    2016-10-19 12:32:46

    if(infos[i][1]=="女")

         {

             var nvsheng[n]=new Array();

             //dayi[n]=infos[i];

            nvsheng[n]=infos[i];

             n++;

         }

     }

     //第二次筛选,找出都是女生的信息


  • 生得一忘道可乐_03994619
    2016-10-19 11:56:21

    i 与dayi 是同级数组,明显错误啊

  • 慕粉4169323
    2016-10-19 11:19:45

    <!DOCTYPE  HTML>

    <html >

    <head>

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

      <title>流程控制语句</title>

      <script type="text/javascript">

    //第一步把之前的数据写成一个数组的形式,定义变量为 infos

        var infos=[['小A','女',21,'大一'],

        ['小B','男',23,'大三'],

        ['小C','男',24,'大四'],

        ['小D','女',21,'大一'],

        ['小E','女',22,'大四'],

        ['小F','男',21,'大一'],

        ['小G','女',22,'大二'],

        ['小H','女',20,'大三'],

        ['小I','女',20,'大一'],

        ['小J','男',20,'大三']];

    //第一次筛选,找出都是大一的信息

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

      if(infos[i][3]=="大一"&&infos[i][1]=="女")

        document.write(infos[i][0]+"<br>");

     }

     //第二次筛选,找出都是女生的信息

     </script>

    </head>

    <body></body>

    </html>

    不知道你算法里面写那么多干啥,算法越简单越好,运行效率高

  • 暮雨听风
    2016-10-19 11:19:37

    <!DOCTYPE HTML>

    <html>

    <head>

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

        <title>流程控制语句</title>

        <script type="text/javascript">

    var infos=[['小A','女',21,'大一'],

               ['小B','男',23,'大三'],

               ['小C','男',24,'大四'],

               ['小D','女',21,'大一'],

               ['小E','女',22,'大四'],

               ['小F','男',21,'大一'],

               ['小G','女',22,'大二'],

               ['小H','女',20,'大三'],

               ['小I','女',20,'大一'],

               ['小J','男',20,'大三']];

     //第一步把之前的数据写成一个数组的形式,定义变量为 infos

     var dayi=new Array();

     var nvsheng=new Array();

     var j=0,n=0;

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

     {

         if(infos[i][3]=="大一")

         {

             dayi[j]=new Array();

             dayi[j]=infos[i];

             j++;

         }


     //第一次筛选,找出都是大一的信息

        if(infos[i][1]=="女")

         {

             nvsheng[n]=new Array();

             nvsheng[n] = infos[i];

             n++;

         }

     }

     //第二次筛选,找出都是女生的信息

     for(i=0;i<j;i++){

         document.write(dayi[i]+"<br/>");

     }

     document.write("<br/>");

     for(i=0;i<n;i++){

         document.write(nvsheng[i]+"<br/>");

     }



        </script>

    </head>

    <body>

    </body>

    </html>