课程
/前端开发
/JavaScript
/JavaScript进阶篇
var arr = []; for(var i=0;i<infos.length;i++){ if( infos[i][3] == "大一" ){ arr[i] = infos[i]; document.write(arr[i]+"<br/>"); } } 这样写 等第二次筛选的时候 只能输出一名女生 但实际上有三名 请问是为什么
2016-04-09
源自:JavaScript进阶篇 4-10
正在回答
你试试这样 我一开始也没有弄懂为什么错的 后来的依此输出输出数组的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/>"); } }
这样你再试一下?
chingsalt 提问者
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
3 回答if(infos[i][3]=='大一')中infos[i][3]为什么不能写成infos[i][i]呢?这样范围不是更广吗?
6 回答infos[i][3]和infos[i][1]是什么意思?
3 回答为什么写dayi[i]=infos[i]会出错
1 回答这里的n++是什么意思 arr[n]=infos[i]; n++;
1 回答infos[i]行不通?