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

求大神讲解一下这一段的二维数组的意思

for (var i =0;i<infos.length;i++){

     if(infos[i][3] == "大一" && infos[i][1] == "女"){

         document.write(infos[i][0]+"<br/>");

     }

 }


二维数组一直不太明白,求大神讲解一下

提问者:慕粉1859536052 2017-03-31 16:31

个回答

  • SHANG_Yitong
    2017-03-31 16:55:36
    已采纳

    二维数组可以理解为元素在一个平面上,推之一维在一条直线上,三维在一个立体中。

    第一行代码说的是从循环从第一行开始,到最后一行结束;

    第二行代码说的是每行数组只检测第4个元素是不是大一,第2个元素是不是女,如果都是的话才进入第三行代码

    第三行代码说的是如果符合第二行代码的检测标准,就输出这一行的第1个元素,也就是姓名。

    这样,我们就把问题解决了。

  • 慕粉1859536052
    2017-03-31 17:25:32

    可以这样理解吗?

    f(infos[i][3] == "大一" && infos[i][1] == "女"){

             document.write(infos[i][0]+"<br/>");

         }

    如果infos里的i里的第四个元素是"大一",同时infos里的i里的第二个元素是"女",

    就输出infos里的i里的第一个元素。

  • Win_me
    2017-03-31 17:02:43

    不好意思,以上的“第i个子数组”修改为“第i+1个子数组”

  • Win_me
    2017-03-31 17:01:22

     ('小A','女',21,'大一'),  ('小B','男',23,'大三'),

    ('小C','男',24,'大四'),  ('小D','女',21,'大一'),

    ('小E','女',22,'大四'),  ('小F','男',21,'大一'),

     ('小G','女',22,'大二'),  ('小H','女',20,'大三'),

     ('小I','女',20,'大一'),  ('小J','男',20,'大三')

    说明:

     ('小I','女',20,'大一')表示二维数组中的子元素(二维数组的子元素就是一维数组)

    数组的索引从0开始

    代码解析:

    infos进行循环操作

    获取第i个子数组中第四个元素的值(即:年级)   等于  “大一”并且  获取第i个子数组中第二个元素的值(即:性别)   等于  “女”。满足此条件就输出同时满足条件学生的姓名(即:第i个子数组中第一个元素的值(即:姓名))

    重点:二维数组就是子元素为一维数组的复杂数据类型

  • 星邪
    2017-03-31 16:58:04

    二维数组形象点说:就是一个篮子里在放几个篮子,第一个篮子只放小的篮子,其它东西(数据)放在第二个篮子里。

  • Akun5
    2017-03-31 16:51:56

    二维数组就是数组中的每一个元素又是一个数组,语言不好说,你应该拿个纸和笔画一画,理解一下二维数组