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

第二次筛选用switch怎么写

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

看参考代码说可以用switch,自己试了试,一点头绪没有

正在回答

2 回答

switch(表达式)

{case值1:
 执行代码块 1  

break;

case值2:
 执行代码块 2  

break;

...

case值n:
 执行代码块 n  

break;

default:
 与 case值1 、 case值2...case值n 不同时执行的代码
}

这是慕课里介绍的switch的语法,按我的理解这里的"表达式”代表的就相当于是一个集合,比如所一个数组,var a=new Array(1,2,3,4);

switch(a){

}这里面的a代表的就是数组里面的1,2,3,4有四个值四种选项,而case 1: 代表的也就是当a=1的时候也就是第一个选项。

var infos=[

        ['小A','女',21,'大一'],

        ['小B','男',23,'大三'],

        ['小C','男',24,'大四'],

        ['小D','女',21,'大一'],

        ['小E','女',22,'大四'],

        ['小F','男',21,'大一'],

        ['小G','女',22,'大二'],

        ['小H','女',20,'大三'],

        ['小I','女',20,'大一'],

        ['小J','男',20,'大三']

    ];

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

    switch(infos[i][3]){

        case "大一" :

            switch(infos[i][1]){

                case "女" :

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

            }

    }

}

而这个题里要用switch筛选的话首先要建立switch(表达式){}中的这个表达式也就是上述代码里的这个infos[i][3] 其中infos[i][3]中得 i 代表的是有这么多个学生,像这里有10个学生代表的也就是 i 为1的时候是第一个学生,2的时候是第二个学生。infos[i][3]里的3代表的是具体一个学生的第四个信息,也就是年级这个信息,一条信息看成一个数组['小A','女',21,'大一'],像这里 “小A”就是0,“女”就是1,”大一“也就是3了 ,所以infos[i][3]的内容也就是['大一','大三','大四','大一',.........,'大三']  case "大一"就是筛选大一的一个动作了。筛选女生也是同理了。


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

慕丝5359371 提问者

额...switch原理我都懂,想看答案代码... 不过谢谢你写这么多辛苦了
2016-12-25 回复 有任何疑惑可以回复我~

通过两次将学生信息分割在不同的数组中(即首先将每个人的信息分在一块,然后对每个人的信息再分割,最后比较即可)

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

慕丝5359371 提问者

虽然还是一脸蒙逼,谢谢
2016-12-25 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

第二次筛选用switch怎么写

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