秋山君
2016-05-24 16:29
<!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<infos.length;i++) { var infos[i]=new Array; for(var j=0;j<4;j++) { if(infos[i][3]=="大一") { if(infos[i][1]=="女") { document.write("名字是:"+infos[i][0]+"<br>"); } } } } </script> </head> <body> </body> </html>
去除掉 这两行var infos[i]=new Array;
for(var j=0;j<4;j++)
就正常了,我也看得懂,就是不明白上几节的时候定义二维数组是要用到mychar[i][j]=i+j;这个为啥不用到j了呢。。。就是为啥子只定义了一个for(var i=0;i<infos.length;i++);就开始用if了,还是说那个infos已经是二维数组就不需要定义了?我转不过来弯了。。。求各位指点,我比较愚笨。
infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],["小F","男",21,"大一"],["小G","女",22,"大二"],["小H","女",20,"大三"],["小I","女",20,"大一"],["小J","男",20,"大三"]];
首先 这样定义 infos 他就已经是一个二维数组了。 每一个学生的各种信息构成一个数组。 所有的学生又构成令一个数组。
这里 infos[0][0]就代表 “小A”这个字符串 ; infos[0][1] 就代表“女”这个字符串;以此类推;
比如 我找到所有女生的信息;
就循环每一个学生的信息 如 for(i=0;i<infos.length;i++){
if(infos[i][1]=="女"){
document.write("学生姓名是"+infos[i][0])
}
}
var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],["小F","男",21,"大一"],["小G","女",22,"大二"],["小H","女",20,"大三"],["小I","女",20,"大一"],["小J","男",20,"大三"]];其中第一个for循环是对["小A","女",21,"大一"]这类的进行的,第二个for循环是对["小A","女",21,"大一"]中的元素进行循环的吧
就是之前的知识点是有提到mychar[j],然后可以用char[i][j],这里面没有定义infos[j],怎么就用infos[i][3]了?我知道infos[i][3]的意思,就是不知道要不要再用个[j]来解释[3]...
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题