为什么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>
//第二次筛选,找出都是女生的信息
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:
} }
这是我写的,供参考。