为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能直接arr[[i]=infos[i]

  var arr = [];
   for(var i=0;i<infos.length;i++){ 
        if( infos[i][3] == "大一" ){  
           arr[i] = infos[i];
            document.write(arr[i]+"<br/>");
           
            
        }  
   }
   这样写 等第二次筛选的时候 只能输出一名女生 但实际上有三名 请问是为什么


正在回答

2 回答

你试试这样 我一开始也没有弄懂为什么错的 后来的依此输出输出数组的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是不一样的

0 回复 有任何疑惑可以回复我~

我试了你的代码,是可以的啊,你怎么写的啊?

  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/>");
            
             
        }  
   }

这样你再试一下?

0 回复 有任何疑惑可以回复我~
#1

chingsalt 提问者

我下半部分是写 for(var i=0;i<arr.length;i++){ //这里可以用switch if(arr[i][1]=="女") { document.write(arr[i]+"<br/>");} }
2016-04-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不能直接arr[[i]=infos[i]

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信