慕慕2041692
2018-05-21 17:07
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
// 定义数组infos
var infos =[['小A','女',21,'大一'], ['小B','男',23,'大三'],['小C','男',24,'大四'], ['小D','女',21,'大一'],['小E','女',22,'大四'], ['小F','男',21,'大一'],['小G','女',22,'大二'], ['小H','女',20,'大三'],['小I','女',20,'大一'], ['小J','男',20,'大三']];
// 定义统计用的变量
var n=0;
// 输出标题
document.write("大一的女同学有:<br>")
// for循环确认循环次数
for(i=0;i<=infos.length;i++){
// 判断是不是大一的同学
if(infos[i][3]=="大一"){
// 判断是不是女生
if(infos[i][1]=="女"){
// 是大一女生的话统计变量加1,并输出她的名字和年龄
n=n+1;
document.write(infos[i][0]+"今年"+infos[i][2]+"岁。<br>")
}
}
}
// 最后在输出统计的人数
document.write("大一的女生共有"+n+"人。");
</script>
</head>
<body>
</body>
</html>
同学,你好,你把 for(i=0;i<=infos.length;i++)改成 for(i=0;i<infos.length;i++)。
因为数组的长度为infos.length=10,但是不能执行i=10;最后一次i=10的循环没有执行,所以
document.write("大一的女生共有"+n+"人。");这行代码就不会执行。
如果你觉得我的回答满意,请设为“采纳回答”,谢谢!
你的n是局部变量,它只在for循环的方法体中有效果
JavaScript进阶篇
468196 学习 · 21891 问题
相似问题