问答详情
源自:4-10 编程练习

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


提问者:宝慕林2808461 2017-07-26 14:19

个回答

  • qq_知秋落葉_0
    2017-12-21 10:59:48

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

  • qq_eminemjohn_03355944
    2017-08-07 10:28:04

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

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


       


  • 萌新bilibi
    2017-07-26 15:17:56

    直观来看: 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]

    ]

    以此类推。。。

  • qq_新爷_0
    2017-07-26 14:48:14

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

  • 不会太久
    2017-07-26 14:42:43

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

  • 不会太久
    2017-07-26 14:41:11

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

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

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