第二次选择之后,出现的结果完全无法理解,哪里出了问题?
代码如下:
<title>流程控制语句</title>
<script type="text/javascript">
var infos = [
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三']
];
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var infos2= new Array();
var n=0;
for(i=0;i<infos.length;i++){
if(infos[i][3]=="大一"){
document.write(infos[i]+"<br>");
infos2[n]=infos[i];
n++;
}
}
//第一次筛选,找出都是大一的信息
for(n=0;n<infos2.length;n++){
switch(infos2[n][1]){
case "女":
document.write("姓名:"+infos[n][0]+"<br>");
default:
break;
}
}
//第二次筛选,找出都是女生的信息
运行的结果是:
小A,女,21,大一
小D,女,21,大一
小F,男,21,大一
小I,女,20,大一
姓名:小A
姓名:小B
姓名:小C
这个结果匪夷所思啊?小B、小C第一轮就被滤掉了,再说swith条件是 ”女“,怎么把小B、小C两个”男“的选了出来
无法理解啊,求老师、高手指教,非常感谢!