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

求解 不知道错哪了 第二个筛选女的 只会显示最后一条

    var infos=new Array();

   

infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],["小F","男",21,"大一"],["小G","女",22,"大二"],["小H","女",20,"大三"],["小I","女",20,"大一"],["小J","男",20,"大三"]];


 function er(){

        for(var i=0;i<infos.length;i++)

         {

               if(infos[i][3]=="大一")

             {

                var zai=new Array();

                zai.push(infos[i]);

               document.write(zai+"<br>");

             }

         }

         document.write("<br>");

         

         

    for(var j=0;j<zai.length;j++)

{

    if(zai[j][1]=="女")

     {

       document.write(zai[j]+"<br>");

     }

}

 }

    

er();


正在回答

2 回答

按楼主的逻辑,没改动什么代码,但是楼主你要把zai数组声明放在第一次循环外面,不然放里面的话,是每次找到一个“大一”的信息,就重新创建一个数组,到最后面,其实数组就只有一个值啦,zai.length=1呀,也就是最后面循环得到的值。

function er(){

 var zai=new Array();

        for(var i=0;i<infos.length;i++)

         {

               if(infos[i][3]=="大一")

             { 

                zai.push(infos[i]);

              // document.write(zai+"<br>");

             }

         }

document.write(zai+"<br>");

         document.write("<br>"); 

    for(var j=0;j<zai.length;j++)

{

if(zai[j][1]=="女")

{

  document.write(zai[j]+"<br>");

}

}

}   

er();



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

qq_小小_54 提问者

好棒
2017-03-18 回复 有任何疑惑可以回复我~

var x;
      for(x=0;x<=10;x++){
        if(infos[x][3]=="大一"){
          if(infos[x][1]=="女"){
            document.write("大一学生为:"+infos[x]+"<br>");
          } 
        }

这样就好了

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

qq_小小_54 提问者

不是 我就是想用这样的方法试试 :先筛选出大一的 再赋值给一个新数组 然后筛选大一女生
2017-03-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求解 不知道错哪了 第二个筛选女的 只会显示最后一条

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