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++){ if(infos[i][3]=="大一" && infos[i][1]=="女"){ document.write("读大一并且是女生的有:"+infos[i][0]+"<br/>");
i 代表数组的下标,第一次循环时,就是一维数组的下标,第二次循环时,就是二维数组的下标。
document.write("读大一并且是女生的有:"+infos[i][0]+"<br/>");
infos[i][0]这里面的[0]没看懂什么意思
直观来看: var infos=[
['小A','女',21,'大一'], //第一个i infos[0]
['小B','男',23,'大三'],//第二个i infos[1]
[...],//第三个i infos[2]
[...],//第四个i infos[3]
...,//第N个i infos[i]
];
[
'小A', //第一个i的第一位 infos[0][0]
'女' , //第一个i的第二位 infos[0][1]
21,'//第一个i的第三位 infos[0][2]
大一'//第一个i的第四位 infos[0][3]
]
以此类推。。。
首先我们得理解它是一个二维数组,作为二维数组它就有行和列,根据你写的代码它是按行来扫描的,因为二维数组的列已经确定为1和3(第一列是确定性别,第三列确定年级(列和行都是从0开始))。所以i代表行。首先看第一行,再第二行知道最后一行。
就好像一个房间里有N个柜子,每个柜子里有M个箱子,每个箱子里有X个盒子。。。类推
infors 是个二维数组(可以看作一个一元数组,里面的元素还是一元数组),里面的每个元素都有脚标,是从0开始算起的
infos[i]指的是infors中的第一个元素(此元素依然可以看作一个一元数组)
infos[i][3]=="大一":意思就是 infos里面脚标为i=的元素,此元素里面脚标为3的元素,是否值为大一