SmallBox
2015-02-11 10:50
var arr1 = [];//定义一个变量等于[] ? 没明白..
var n = 0;// 定义变量n 赋值为0
for(var i=0;i<infos.length;i++){ //for循环语句,为什么i要小于infos数组的个数呢?
if( infos[i][3] == "大一" ){ //[i][3]这里不从第一个元素开始 而是第三个?
arr1[n] = infos[i]; //
document.write(arr1[n]+"<br/>");
n=n+1;
}
}
看了几遍数组和循环了 实在看不明白 着急
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
//我复制了里面正确人得代码,我一一给你解释下。
//定义二维数组,infos,infos的长度为11从下标0开始到10 共计11个同学信息
var infos = [
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三']
];
// 使用for遍历数组并找到学生信息是"大一"并且性别为'女'的学生
/*遍历从0开始,这里的infos.length为11(这里和数组不一样,这里infos.length=11是数组长度)也就是0-10不包括11
*/
for(var i=0;i<infos.length;i++){
//这里用if判定,因为数组中存放的个人信息为['姓名','性别',年龄,'年级']对应下标从0开始也就是infos[i][0]=姓名,infos[i][1]=性别....infos[i][3]=年级
if(infos[i][3]=="大一" && infos[i][1]=="女"){
//如果满足条件,打印姓名
document.write(infos[i][0] + "<br/>")
}
}
</script>
</head>
<body>
</body>
</html>
javascript是弱语言,var arr1=[];在这里不是一个变量等于[]这里是声明了一个数组。javascript会根据数据类型自动定义变量类型
for循环起始位var i=0;遍历从0开始,这里遍历个数到达infos.length; 也就是0,1,2,3...到<info.length 真好是数组infos的长度,当然你也可以从1开始
for(var i=1;i<=infos.length;i++){};
我看了这一篇的整体代码,这里的数组第一层是一个个的个人信息实例,每个实例的[i][3]位置都是年纪,!!首先修正你的病句,这里不是第三个,而是第四个,数组默认从0开始[i][3]是第四个。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题