为了账号安全,请及时绑定邮箱和手机立即绑定

if(infos[i][3]=="大一" && infos[i][1]=="女")这个里面的“i”怎么理解?

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/>");


正在回答

6 回答

i 代表数组的下标,第一次循环时,就是一维数组的下标,第二次循环时,就是二维数组的下标。

0 回复 有任何疑惑可以回复我~

 document.write("读大一并且是女生的有:"+infos[i][0]+"<br/>");

infos[i][0]这里面的[0]没看懂什么意思


   


0 回复 有任何疑惑可以回复我~
#1

宝慕林2808461 提问者

因为每个值的索引号都是从0开始的,这个0就是表示满足条件之后输出的学生姓名
2017-08-07 回复 有任何疑惑可以回复我~

直观来看: 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 回复 有任何疑惑可以回复我~

首先我们得理解它是一个二维数组,作为二维数组它就有行和列,根据你写的代码它是按行来扫描的,因为二维数组的列已经确定为1和3(第一列是确定性别,第三列确定年级(列和行都是从0开始))。所以i代表行。首先看第一行,再第二行知道最后一行。

3 回复 有任何疑惑可以回复我~
#1

宝慕林2808461 提问者

明白了,谢谢
2017-07-26 回复 有任何疑惑可以回复我~

就好像一个房间里有N个柜子,每个柜子里有M个箱子,每个箱子里有X个盒子。。。类推

0 回复 有任何疑惑可以回复我~

infors 是个二维数组(可以看作一个一元数组,里面的元素还是一元数组),里面的每个元素都有脚标,是从0开始算起的

infos[i]指的是infors中的第一个元素(此元素依然可以看作一个一元数组)

infos[i][3]=="大一":意思就是 infos里面脚标为i=的元素,此元素里面脚标为3的元素,是否值为大一

1 回复 有任何疑惑可以回复我~
#1

宝慕林2808461 提问者

好的好的,谢谢
2017-07-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

if(infos[i][3]=="大一" && infos[i][1]=="女")这个里面的“i”怎么理解?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信