为了账号安全,请及时绑定邮箱和手机立即绑定

switch语句不执行

为什么switch语句执行不输出内容?

<!DOCTYPE  HTML>

<html >

<head>

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

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

<script type="text/javascript">


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

 

 

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

 

  

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

 

 // alert("0");

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

 var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];

 // alert("1");

 // document.write(infos);

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

 var myarr=[];

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

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

        myarr.push(infos[i]);

        // alert();

    } 

 }

 // document.write(myarr.length);

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

 for(var j=0;j<myarr.length;j++){

     (function (){

        // document.write(myarr[j][1]);

        var sex = myarr[j][1];

        if(sex=="女"){

            document.write(myarr[j][0]+"<br>");

        }

        // switch(sex){

        //     case "男":

        //         document.write(myarr[j][0]+"<br>");

        //         // break;

        //     case "女":

        //         document.write(myarr[j][0]+"<br>");

        //         // break;

        //     default:

        //         document.write(myarr[j][0]+"<br>");    

        // }

     })();

 }

  

</script>

</head>

<body>

</body>

</html>

正在回答

2 回答

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

 for(var j=0;j<myarr.length;j++){

        // document.write(myarr[j][1]);

        var sex = myarr[j][1];

        if(sex=="女"){

            document.write(myarr[j][0]+"<br>");

        }

        switch(sex){

             case "男":

                document.write(myarr[j][0]+"<br>");

                 break;

             case "女":

                 document.write(myarr[j][0]+"<br>");

                 break;

             default:

                 document.write(myarr[j][0]+"<br>");    

         }

}

建议不要写成函数,因为不需要调用,break需要加;

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

 var no1 = [];

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

     if(infos[i][3]=='大一'){

         no1.push(infos[i]);

     }

 }

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

 for(j = 0;j<no1.length;j++){

     switch(no1[j][1]){

         case "女":

             document.write(no1[j][0]+"<br>");

             break;

        case "男":

             break;

        default:

     } }

这是我写的,供参考。

0 回复 有任何疑惑可以回复我~
#1

慕粉4366429 提问者

找到原因了,是case "女":后边的分号写成了中文格式的。不过还是谢谢了
2019-06-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468043    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

switch语句不执行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信