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

为什么不能写两个if只有第一个if的信息出来,洗了个或(||)就两个都出来了。我用switch也是只有第一个大一的信息?

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">

 //第一步把之前的数据写成一个数组的形式,定义变量为 infos
  var info=[['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];
 
 //第一次筛选,找出都是大一的信息
 var i=0;
 while(i<=info.length){
     if(info[i][3]=="大一"||info[i][2]=="女"){
        document.write("所有大一学生的信息-*-*-*-*-"+info[i]+"<br/>");
          
     

        document.write("所有女生学生的信息-*-*-*-*-"+info[i]+"<br/>");
        
     
     }
    i=i+1;
}

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

 
 
</script>
</head>
<body>
</body>
</html>

提问者:qq_被爱的人不用道歉_0 2016-06-13 10:32

个回答

  • Summer1987
    2016-06-21 15:43:32

    switch怎么写

  • qq_柠夏_03481505
    2016-06-13 11:59:13

    if中||的两个条件 一般 分开两个if写都是没有问题的,我这样写可以  你看看   

    var info=[['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];
     
        //第一次筛选,找出都是大一的信息
        var i=0;
        while(i<=info.length){
            if(info[i][3]=="大一"){
                document.write("所有大一学生的信息-*-*-*-*-"+info[i]+"<br/>");
                if(info[i][1]=="女"){
                    document.write("所有女生学生的信息-*-*-*-*-"+info[i]+"<br/>");
                }
            }
            i=i+1;
        }
     </script>

  • 磅礴
    2016-06-13 11:28:41

    你用“||”这样写,浏览器只要一解析到其中一个符合要求的信息就会输出,所以不可能同时输出两个。应该用“&&”才可以输出大一的并且是女生的姓名,还有你那数组索引用错了,去看看别的正确的代码

  • 王品0
    2016-06-13 11:06:06

    '女' 在数组里的位置是 info[i][1], 而你写的 info[i][2] 是他们的年龄 

  • 王品0
    2016-06-13 11:01:46

     while(i<=info.length){

         if(info[i][3]=="大一"){

            document.write("所有大一学生的信息-*-*-*-*-"+info[i]+"<br/>");

              

         if(info[i][1]=="女"){


            document.write("所有女生学生的名字-*-*-*-*-"+info[i][0]+"<br/>");

            }

         

         }

        i=i+1; }


  • qq_芐雨天_0
    2016-06-13 10:51:37

    switch语句找到满足条件的第一个语句后执行完第一个条件判断后的语句就跳出来了