第二次筛选,找出都是女生的信息
看参考代码说可以用switch,自己试了试,一点头绪没有
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 "大一"就是筛选大一的一个动作了。筛选女生也是同理了。
通过两次将学生信息分割在不同的数组中(即首先将每个人的信息分在一块,然后对每个人的信息再分割,最后比较即可)