for (var i =0;i<infos.length;i++){
if(infos[i][3] == "大一" && infos[i][1] == "女"){
document.write(infos[i][0]+"<br/>");
}
}
二维数组一直不太明白,求大神讲解一下
二维数组可以理解为元素在一个平面上,推之一维在一条直线上,三维在一个立体中。
第一行代码说的是从循环从第一行开始,到最后一行结束;
第二行代码说的是每行数组只检测第4个元素是不是大一,第2个元素是不是女,如果都是的话才进入第三行代码
第三行代码说的是如果符合第二行代码的检测标准,就输出这一行的第1个元素,也就是姓名。
这样,我们就把问题解决了。
可以这样理解吗?
f(infos[i][3] == "大一" && infos[i][1] == "女"){
document.write(infos[i][0]+"<br/>");
}
如果infos里的i里的第四个元素是"大一",同时infos里的i里的第二个元素是"女",
就输出infos里的i里的第一个元素。
不好意思,以上的“第i个子数组”修改为“第i+1个子数组”
('小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个子数组中第一个元素的值(即:姓名))
重点:二维数组就是子元素为一维数组的复杂数据类型
二维数组形象点说:就是一个篮子里在放几个篮子,第一个篮子只放小的篮子,其它东西(数据)放在第二个篮子里。
二维数组就是数组中的每一个元素又是一个数组,语言不好说,你应该拿个纸和笔画一画,理解一下二维数组