<script type="text/javascript"> var infos = [ ['小A','女',21,'大一'], ['小B','男',23,'大三'], ['小C','男',24,'大四'], ['小C','男',24,'大四'], ['小D','女',21,'大一'], ['小E','女',22,'大四'], ['小F','男',21,'大一'], ['小G','女',22,'大二'], ['小H','女',20,'大三'], ['小I','女',20,'大一'], ['小J','男',20,'大三'] ]; for(var i = 0; i < infos.length; i++) { if(infos[i][3] === "大一" && infos[i][1] === "女") { document.write(infos[i][0] + "<br />"); } } </script>
请问这里为什么要用[i][3]判断=大一,[i][1]=女,最后write[i][0]?
如果用[i][5]判断=大一,[i][3]=女,是否也可以?
没看懂,求解释一下
哈哈,同学你好,看来你还没怎么理解二维数组的概念哦,[i][3]代表的是一维的值取i,二维的值取3。什么意思呢,直观点就是你把里面的每个数组都看成一个整体,这样整个infos数组就变成了一维数组了。用infos[2],就代表['小B','男',23,'大三']。然后如何才能把每个小数组里面的数据拿出来呢?很简单,就用第二个参数来定位,如infos[2][1]就是'男'啦!~回到题中,如果我们把第一个参数设置为i,i从0到9(9为数组长度)取值,然后小数组的定位值写成[3],代表着年级。所以[i][3]就可以把每一个数组的年级值获取出来了。
数组下表从0开始,二维数组从00开始。[i][3]:如果把二维数组看作一个矩阵的话,i用来控制行数,3是列数,说白了就是取第i个数组中的第4个元素,即每次都取年级