积年
2017-09-11 15:16
//第一次筛选,找出都是大一的信息
var dayi = new Array();
for(var i=0;i<infos.length;i++){
if(infos[i][3]=='大一'){
dayi[i]=infos[i];
}
}
//第二次筛选,找出都是女生的信息
for(var i=0;i<dayi.length;i++){
switch(dayi[i][1]){
case '女':
document.write(dayi[i][0]+"<br/>");
}
}
一开始是这样写的,可是只会输出一个小A,在console里发现dayi.length是9,而且除了dayi[0]其他全是undefined,为什么会这样啊Q A Q
不好意思,你说的对。dayi.length == 9 说明你的 dayi[9] = infos[9]的,至于为什么只会出现day[0]有数据,要看看你的数据是怎么写的了。说实话,你可以让dayi的下标自己增加不就可以了吗,不要用i表示。
i时随着循环增加的,因此dayi[i]中的i也会改变,当筛选不到时,dayi[i]中就不会赋值,然而i继续增加,因此这些没有被赋值的dayi[i]里面存储的就是undefined(只给了声明没有赋值)
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题