chingsalt
2016-04-09 00:34
var arr = []; for(var i=0;i<infos.length;i++){ if( infos[i][3] == "大一" ){ arr[i] = infos[i]; document.write(arr[i]+"<br/>"); } } 这样写 等第二次筛选的时候 只能输出一名女生 但实际上有三名 请问是为什么
你试试这样 我一开始也没有弄懂为什么错的 后来的依此输出输出数组的length发现的错误
var arr=[];
for(var i=0;i<infos.length;i++){
if(infos[i][3]=='大一'){
arr[i]=infos[i];
if(arr[i][1]=="女"){
document.write(arr[i]+"<br/>");}
}
}
当你在用第一个条件判断并获取的数据 就应该在当前的循环中再去判断 如果像你那样分开两次判断 它取到的length是不一样的
我试了你的代码,是可以的啊,你怎么写的啊?
var arr = []; for(var i=0;i<infos.length;i++){ if( infos[i][3] == "大一" ){ arr[i] = infos[i]; document.write(arr[i]+"<br/>"); } } for(var j=0;j<infos.length;j++){ if( infos[j][1] == "女" ){ arr[j] = infos[j]; document.write(arr[j]+"<br/>"); } }
这样你再试一下?
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题