<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
var myarr=new Array(['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小I','女',20,'大一'],['小F','男',21,'大一'])
for(var i=0;i<myarr.length;i++){
if(myarr[i][3]=='大一'){//首先判断年级是否为大一
for(var j=0;j<myarr[0].length;j++){
if(myarr[i][j]=='女')//第二次,从查询出的大一的信息中再判断是否为女
document.write(myarr[i][0]);//打印姓名
}
}
}
</script>
</head>
<body>
</body>
</html>
两个错误,
第一个,二维数组声明的时候,不用new Array,直接 var myarr = 【【】,【】】
而且人家给你定义好了infos的变量名,你不用,你这样你以后的开发经理会把你菊花按在地上摩擦。
第二个,你为啥又套了个循环,你直接进来判断符合大一的第性别为女不就好了?
放那么多循环,你没学过时间复杂度吗???你这程序算法big O 复杂度都爆炸
其实 myarr[i][1]=='女' 就好了,不用再套循环了,length 可以提取出来,减少计算,因为长度不变了