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

一个比较简单的问题,求教

for(var i = 0; i < infos.length; i++) {
 if(infos[i][3] === "大一" && infos[i][1] === "女") {
  document.write(infos[i][0] + "<br />");
 }
}

看到很多人这样写,有人可以详细的解释一下吗,表示看不懂

提问者:qq_梦与现实的距离_0 2016-11-04 21:17

个回答

  • emily973
    2016-11-04 23:19:40
    已采纳

    var infos=new Array[

      ['小A','女',21,'大一'],  ['小B','男',23,'大三'],

      ['小C','男',24,'大四'],  ['小D','女',21,'大一'],

      ['小E','女',22,'大四'],  ['小F','男',21,'大一'],

      ['小G','女',22,'大二'],  ['小H','女',20,'大三'],

      ['小I','女',20,'大一'],  ['小J','男',20,'大三']   ];

     infos[i][3],i代表行,3代表列,由于数组是从0开始的,所以“小A”用二维数组表示就是infos[0][0],小A的年级"大一"就是infos[0][3]……infos.height表示数组长度,这里是4,&&表示当两边条件同时为true,整条等式才是true;

    当i=0;

    如果条件成立:infos[i][3] === "大一" && infos[i][1] === "女",(当该数组第一行第三个元素为“大一”且第一行第二个元素为“女”)

    则打印该行的第一个元素(即姓名)。

    慢慢理顺,加油



  • 蝶梦疏妄
    2016-11-04 23:40:11

    &&=>且

  • Steven_Wang
    2016-11-04 21:50:25

    infos[i]将第 i+1 条记录以数组(二维)的形式存储

    所以用for循环逐条判断记录中的两个字段 infos[i][3]和 infos[i][1](年级和性别)是否符合相应条件