switch语句不执行

来源:4-10 编程练习

慕粉4366429

2019-06-10 21:55

为什么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>

写回答 关注

1回答

  • qq_迷宫的十字路口_2
    2019-06-10 23:30:09

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

     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:

         } }

    这是我写的,供参考。

    慕粉4366...

    找到原因了,是case "女":后边的分号写成了中文格式的。不过还是谢谢了

    2019-06-11 21:14:26

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题