为什么出不来结果,单一筛选就能出来

来源:4-10 编程练习

慕丝4410454

2020-05-07 14:42

 //第一步把之前的数据写成一个数组的形式,定义变量为 infos

 var infos=[['小A',"女",21,"大一"],['小B',"男",23,"大三"],

            ['小C',"男",24,"大四"],['小D',"女",21,"大一"],

            ['小E',"女",22,"大四"],['小F',"男",21,"大一"],

            ['小G',"女",22,"大二"],['小H',"女",20,"大三"],

            ['小I',"女",20,"大一"],['小J',"男",20,"大三"]]

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

         var demo1=[];

         demo1=infos[i]

        

 //第一次筛选,找出都是大一的信息

 //第二次筛选,找出都是女生的信息

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

        if(demo1[j]=="大一"&&demo1[j]=="女" ){

            document.write(infos[i]+"<br/>");

        }

     }

     

 }


写回答 关注

3回答

  • 仰_慕
    2020-05-08 22:00:16

    你数组里面的引号出错了,有单有双,改为单引号就行了。

  • weixin_慕少6494168
    2020-05-08 13:44:37

     if(demo1[j]=="大一" &&demo1[j]=="女")这里有问题,demo[j]不可能同时是“大一”和“女生”,改成if(demo1[j]=="大一" &&demo1[j-2]=="女")就可以了

  • qq_慕少8309659
    2020-05-08 11:28:46

    你看一下,你的  if(demo1[j]=="大一"&&demo1[j]=="女" ) 这部分代码,首先想法是非常棒的。但是,demo1[j]只可能且只能为一个值,你不能同时要求demo1[j]=="大一"和demo1[j]=="女"。你可以这样修改:

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

            var demo1=[];

            demo1=infos[i]

            if(demo1[3]=="大一"&&demo1[1]=="女" ){

                document.write(demo1[0]+"<br/>");

            }

         }

         


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468190 学习 · 21891 问题

查看课程

相似问题