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

为什么我使用了if,却打印了所有值?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>流程控制语句</title>

<script type="text/javascript">


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

 var myarr=[['a','female',21,'yi'],['b','male',23,'san'],['c','male',24,'si'],['d','female',21,'yi'],['e','female',22,'si'],['f','male',21,'yi'],['g','female',22,'er'],['h','female',20,'san']]

 

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

 for(var i=0;i<8;i++){

     if(myarr[i][3]=='yi')

 {

     if(myarr[i][1]=='female')

     {

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

     }

 }

  

 }


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

 

 

  

</script>

</head>

<body>

</body>

</html>


正在回答

5 回答

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
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<10;i++){
     if(infos[i][1]=="女"&&infos[i][3]=="大一"){
        document.write(infos[i]+"<br>");
     }
 }
</script>
</head>
<body>
</body>
</html>

你试试这样

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

var lp=[['小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<lp.length;i++){
   var pl=lp[i];
  if(pl[3]=="大一"&&pl[1]=="女"){
    document.write(pl+"<br>")
  }
 }

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

if(infos[i][3]=='yi'&&infos[i][1]=='female'){//第一次筛选,找出都是大一的信息

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

     for(var j=0; j<4; j++)

     {

         document.write(infos[i][j]+" ");

     }

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

 }


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

 var myarr = [

        ['a','female',21,'yi'],

        ['b','male',23,'san'],

        ['c','male',24,'si'],

        ['d','female',21,'yi'],

        ['e','female',22,'si'],

        ['f','male',21,'yi'],

        ['g','female',22,'er'],

        ['h','female',20,'san']

    ]


 


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


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

    if(myarr[i][3] == 'yi'){

        if(myarr[i][1] =='female'){

            document.write(myarr[i][3]);

        }

    }

}


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

慕先生5155467 提问者

这样更改之后就没有输出了
2018-08-16 回复 有任何疑惑可以回复我~
#2

LGH_16 回复 慕先生5155467 提问者

怎么可能没输出,我只改了这句document.write(myarr[i][3]);
2018-08-16 回复 有任何疑惑可以回复我~
#3

LGH_16 回复 LGH_16

还有你的if判断顺序建议换一下从前往后判断你这从后往前判断完全进不了第二个if
2018-08-16 回复 有任何疑惑可以回复我~

因为你写的是document.write(myarr+"<br>)  //这句意思就是打印出myarr整个数列的内容

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

慕先生5155467 提问者

那这个部分要怎么更改才能打印筛选值呢
2018-08-16 回复 有任何疑惑可以回复我~
#2

qq_紫色的薰衣草_0

你这样写的思路就是同时满足这两个条件,所以你用“&&”来连接两个条件,放在if中去实现。for(var i = 0; i < myarr.length; i++) {if(myarr[i][3]=='yi'&& myarr[i][1]=='female') document.write(myarr[i][1]) 你试一下,注意不要有书写错误,自己仔细检查
2018-08-16 回复 有任何疑惑可以回复我~
#3

qq_紫色的薰衣草_0

sorry...看错了,最后一句应该是document.write(myarr[i][0])
2018-08-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我使用了if,却打印了所有值?

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