<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个元素,即每次都取年级