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

大神看看我这的问题

哪里出问题了呢?

<!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,"大三"]];

 

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

 var grade=new Array();

 j=0;

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

 {

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

     {

        grade[j]=i;

        j++;

     }

 }

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

 var fina=new Array();

 m=0;

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

 {

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

     {

         fina[m]=infos[grade[i]][0];

         m++;

     }

 }

 for(i=0;i<m;i++)

 {

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

 }

  

</script>

</head>

<body>

</body>

</html>


提问者:qq_流年随影_04102513 2016-10-08 21:39

个回答

  • 慕粉3951534
    2016-10-10 11:00:12

    第一次筛选代码段

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

    这个 for 循环的两个括号是中文格式,改成英文格式,代码没问题,亲测。

  • 慕粉3233574
    2016-10-08 21:51:56

    <!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,"大三"]];

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

     var grade=new Array();

     j=0;

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

     {

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

         {

            grade[j]=i;    /* 这里面grade是一维数组,存储的数据为i的值:[0, 3, 5, 8]; */

            j++;

         }

     }

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

     var fina=new Array();

     m=0;

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

     {

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

         {

             fina[m]=infos[grade[i]][0];    //结果你在这里把grade当二维数组处理了,当然错误。

             m++;

         }

     }

     for(i=0;i<m;i++)

     {

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

     }

      

    </script>

    </head>

    <body>

    </body>

    </html>