我知道正确的编程的方法,我想知道的是原因。按道理来说此时的arr1[]有十个值,其中四个有值,其余六个未定义,那么为什么第二个循环只能输出一个值?难道循环里数组索引到空值就自动停止了?
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<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 arr1=[];
var n=0;
for (var i=0;i<infos.length;i++){
if (infos[i][3]=="大一"){
arr1[n]=infos[i];
document.write(arr1[n]+"<br/>")
}
n=n+1;
}
document.write("大一人数: "+arr1.length+"<br/>");
//第一次筛选,找出都是大一的信息
for (var i=0;i<arr1.length;i++){
if (arr1[i][1]=="女"){
document.write(arr1[i][0]+"<br/>")
}
}
//第二次筛选,找出都是女生的信息
</script>
</head>
<body>
</body>
</html>
李晓健