qq_慕粉909474
2019-01-03 17:43
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var infos=new Array();
infos=[
["小A","女",21,"大一"],
["小B","男",23,"大三"],
["小C","男",24,"大四"],
["小D","女",21,"大一"],
["小E","女",22,"大四"],
["小F","男",21,"大一"],
["小G","女",22,"大二"],
["小H","女",20,"大三"],
["小I","女",20,"大一"],
["小J","男",20,"大三"],
];
var info=new Array();
var num= 0;
//第一次筛选,找出都是大一的信息
//document.write("第一部分:"+"<br/>");
for(var i=0;i<=infos.length;i++){
for(var j=0;j<=infos[i].length;j++){
if(infos[i][j]=="大一"){
info [num]=infos [i];
num++;
}
}
}
//第二次筛选,找出都是女生的信息
// document.write("第二部分:"+"<br/>");
for(var i=0;i<=info.length;i++){
for(var j=0;j<=info[i].length;j++){
if(info[i][j]=="女"){
document.write(info[i][0]);
}
}
}
</script>
</head>
<body>
</body>
</html>
数组越界。循环的时候下标是从0开始的,如果是一个长度是5的数组,那么最后一个的下标就是4。你用<=,循环到最后一个的时候,下标就是5,所以错误了。
for循环里的<=改成<,你会发现正确了。
同问,写的一样,运行不出来,复制别人的代码就可以运行
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题
回答 3
回答 5
回答 3
回答 5
回答 4