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

请问哪点错了

<!DOCTYPE  HTML>

<html >

<head>

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

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

<script type="text/javascript">

var infos=new Array[

    ['小A','女',21,'大一'],

    ['小B','男',23,'大三'], 

    ['小C','男',24,'大四'],

    ['小D','女',21,'大一'],

    ['小E','女',22,'大四'], 

    ['小F','男',21,'大一'],

    ['小G','女',22,'大二'], 

    ['小H','女',20,'大三'],

    ['小I','女',20,'大一'], 

    ['小J','男',20,'大三']

    ];


 for(i=0;i<=9;i++)

 {for(j=1;j<=3;j++)

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

 while (infos[i][j]=="女")  //第一次筛选,找出都是大一的信息

 {j++;

     while(infos[i][j]=="大一")

     {

         document.write(infos[i]); //第二次筛选,找出都是女生的信息

         

         }

        

 }

 }

</script>

</head>

<body>

</body>

</html>


正在回答

10 回答

 for(i=0;i<=9;i++)

 {for(j=1;j<=3;j++)

循环语句 i和j前面 要加var

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

流年s

不定义也可以的 js里面不带var直接定义变量是全局变量,只是不推荐而已
2016-08-22 回复 有任何疑惑可以回复我~

第一次进入while时,infos[0][1]的值为女,判断条件为true,进入了循环,当j++后,j的值变为2,此时infos[0][2]的值为21,infos[0][2]=="女"这个语句的值,即判断条件为false了,已经不再进行while循环了。所以找不出想要的信息。

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

第二个for(j=1;j<=4;j++);

 

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

while循环里的j++改成j=j+2;document.write那一句改成document.write(infos[i][0]);

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

创建数组时错了,当使用关键字new Array时应该是(),否则应该是var infos=[[],[],[],[]];你好像弄混了。

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

你就不应该里面用while循环进行判断。要用if判断。注意if,while区别。while里面j++也有问题,你试着按你思路走一遍。。。

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

if(infos[i][j]=="大一"){...}这里应该写:if(infos[i][3]=="大一"){...}

if(infos[i][j]=="女"){...}这里应该写:if(infos[i][1]=="女"){...} 



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

(infos[i][j]=="女")   这里应该写:(infos[i][1]=="女") 

(infos[i][j]=="大一")   这里应该写:(infos[i][3]=="大一") 

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

for (var i=0;i<arr.length;i++)
变量要先定义

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

第一次筛选应该在第一个循环中间,数组长度确定好,判断条件确定好

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468284    人
  • 解答问题       21892    个

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

进入课程

请问哪点错了

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