一棵心
2016-04-06 16:28
<!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,'大三']
];
//第一次筛选,找出都是大一的信息
for(var i=0;i<=infos.length;i++){
if(infos[i][3]=="大一"){
document.write(infos[i]+'<br>');
}
else{}
}
//第二次筛选,找出都是女生的信息
for(var j=0;j<=infos.length;j++){
if((infos[j][1]=="女")&&(infos[j][3]=="大一")){
document.write(infos[j]+'<br>');
}
else{}
}
</script>
</head>
<body>
</body>
</html>
document.write就是喜欢覆盖,文档加载完了再用就会覆盖整个html
循环条件错了吧
因为这里i<=infos.length;导致报错了,应该i<infos.length;
因为数组的下标是0开始,length是1开始,所以数组最大下标应该是length-1
i<=infos.length;导致循环出了 infos[10] 这样的不存在的第11个值,所以抛出undefined程序停止了
同理j<=infos.length也一样
i<=infos.length 改为 i< infos.length
第一次值包含了第二次值,就覆盖了。。。。?
课程链接发下
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题