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

while循环不管用吗?只能输出一个名字。。。

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

     //document.write(infos.length);

 var i=0;

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

while(infos[i][3]=="大一"&&i<infos.length){

    //document.write(infos[i][0]);

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

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

 {

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

 }

 i=i+1;

}

</script>

</head>

<body>

</body>

</html>


提问者:T松子 2018-08-23 15:37

个回答

  • 慕圣2401159
    2018-08-23 16:02:09
    已采纳

    第一个while语句中的循环条件给错了,改一下

    while(i<infos.length){

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

            document.write(infos[i][0]);

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

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

     {

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

     }

     i=i+1;

    }

    这样改就可以了,第一竖行是第一次筛选的结果,第二竖行是第二次筛选的结果,不过,为了美观,最好分成两次循环


  • T松子
    2018-08-23 15:54:30

    找出来了,如果while,循环到第二个人,条件为假,就不循环了,自己晕了》》》