<!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,'大四'], ['小D','女',21,'大一'], ['小E','女',22,'大四'], ['小F','男',21,'大一'], ['小G','女',22,'大二'], ['小H','女',20,'大三'], ['小I','女',20,'大一'], ['小J','男',20,'大三'] ]; //第一步把之前的数据写成一个数组的形式,定义变量为 infos for(var i=0;i<11;i++) { if(infos[i][3]==="大一") {document.write("大一新生"+infos[i][0]+"<br>");} //第一次筛选,找出都是大一的信息 } for(var i=0;i<11;i++) { if(infos[i][1]=="女") {document.write("女生"+infos[i][0]+"<br>"); }} </script></head><body></body></html>
4 回答
已采纳
guozhchun
TA贡献103条经验 获得超76个赞
for(var i=0;i<11;i++) // infos里面只有10个元素,下标范围 0 ~ 9,不能到10。这里for循环里面会出现下标越界。后面代码将不再执行
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
因为infos数组的长度为10,而你却写成 for(var i=0;i<11;i++),你以为数组长度是11。
把两个地方的
for(var i=0;i<11;i++)
改为
for(var i=0;i<infos.length;i++)
nikomal
TA贡献1条经验 获得超0个赞
循环遍历的时候最好使用.length来获取长度,最好是这样写 for (var i=0 var len=infos.length;i<len;i++){...}
添加回答
举报
0/150
提交
取消