打印出都是女生的姓名
var infos=[
<script type="text/javascript">
var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],["小F","男",21,"大一"],["小G","女",22,"大二"],["小H","女",20,"大三"],["小I","女",20,"大一"],["小J","男",20,"大三"]];
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
for(var i=0;i<infos.length;i++){
if(infos[i][3]=='大一'&&infos[i][1]=='女'){
document.write(infos[i][0]+"<br/>");
}
}
这个什么i,infos[i][3]
怎么去理解?
一维数组理解吗?二维和一维是类似的。infos是数组的名字,i就是索引,从0开始,到n-1,比如一个有n个元素的数组,info[0]代表的就是第一个元素,infos[n-1]就代表第n-1个元素
不好意思,小弟学了1年半的JavaScript,看不懂你这个程序的意思。
但是我转念一想,别看我才学了一年半,我自认为学的也不算差。
所以我斗胆给一个结论:你这个代码,不是抄错了就是本身有问题。
还有两点:
JavaScript的数组跟C语言不同,它本身首先是一个对象,第二才是一个数组。所以不要按照之前的理解去思考问题。
想要遍历得到所有女生,我认为应该使用一维数组+对象的方式。
以上。
你改了问题的描述,我觉得你此时应该明白了问题的答案。
我再次依然表示:这个地方最好是用一位数组+对象。这样更像JSON的方式。
一维数组你能理解吗:
那么,如果元素不是1、2、3...这些数字,而是数组呢。比如:
怎么理解?还不是一样,比如要取出'c',那就是取第1个元素的第2个元素啊:
实际上,JS里面根本没有二维数组,只有一维数组。所谓二维数组,不过是指元素为一维数组的数组。
这个例子有点眼熟,好像是慕课网上的。。
用个比喻来解释下吧,我把一维数组比喻成一层楼的N个房间,二维数组比喻成N层楼的N个房间:
首先从一维数组开始,我要记录一下第一层楼的所有房间号码:
数组结构本质上其实也是一块块小空间的开辟,然后放数据,我们用图表示下:
然后我们来看下2维数组。现在一层楼的房间已经不满足我了,我要盖楼层,三层小洋房~
之前一层楼有6个房间,现在我要盖3层,那就是18个房间啦,怎么形象表示好呢?这时候就用到了2维数组:
上图(灵魂画风):
当然,和现实中的楼层有点相反,现实中应该是3楼在最上面,没事儿,我们可把它看成是往地下开始建立的楼房~
最后的最后,总结下:
一维数组你可以看成是一层楼,里面的数据就是一个个房间;它是横向的,像一根被均分的线段,或者说是x轴
二维数组你可以看成是一栋楼,里面的数据就是一层层楼,一层层楼里又有一个个房间;它像是一个平面,或者说是由X和Y轴共同组成的数据结构
同样以此类推下去还有三维数组,它就像是由xyz三轴组成的立体结构了,最后是一个立方体