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

这样写哪里错了,为什么显示不出来

<!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,'大三'] ];

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

 for(i=0;i<=3;i++){

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

    {document.write("是大一的人有"+[i][3]+"<br/>");}

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

 

  if([i][2]=="女")

  {document.write("是大一女生的名字"+[i][1]);}

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

 }

</script>

</head>

<body>

</body>

</html>


正在回答

8 回答

你贴出来的这部分代码  没有for(){}的后大括号 没有终结  然后我说的i0  i1只是这么说  你书写还是要写成 infos[i][0]  这样才能定位到数组  不然你直接写[i][0]会找不到定位的数组的 所有的[i][0]前面都要加上infos 再试试吧 前期不要省略  所有的代码都要写完善了  注意我说的那些

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

var infos=[

    ['小A','女',21,'大一'],['小B','男',23,'大三'],

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

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

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

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


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

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

         {

            document.write("是大一的人有"+infos[i][0]+"<br/>")

          if(infos[i][1]=="女")

              {

                document.write("是大一女生的名字"+infos[i][0]+"<br/>");

            }

        }

}

这是正确代码  根据你最后发的改的  具体改动有

  1. for()里面的判断  i<infos.length   

  2. 第一个if()中 你判断对了 但是输出不对  输出的应该是名字 而不是infos[i][3] i3输出的是大几 i0输出的才是名字

  3. 第二个if()中  条件应该是 infos[i][1]=="女" 而不是i2 数组是从0开始的  所以是1而不是2 

  4. 第二个if()中的输出  和上一个一样  应该输出名字i0 而不是性别i1 这个还是数组的下标问题  你可以再看看数组

  5. 你的两个if() 是在for中的两个{}{}中分开写的  这样会出现第一个输出所有大一的  第二个输出所有女生  并不是大一女生  应该放在一个{}中 这样输出的就是大一女生  如果觉得混乱可以把第一个if出来的结果放到一个新定义的数组 再用第二个if判断新数组的女生  比较麻烦而已


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

一切太突然3125650 提问者

for(i=0;i<=infos.length;i++){ if([i][3]=="大一") document.write("是大一的人有"+[i][0]+"<br/>"); //第一次筛选,找出都是大一的信息 if([i][1]=="女") document.write("是大一女生的名字"+[i][0]); 改完是这样的,可是还是没有出现结果诶,还需要添加什么,哎 对这种逻辑问题一点头绪都没有 ,想不出要怎么写
2016-04-26 回复 有任何疑惑可以回复我~

还是不可以诶

<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,'大三'] ];

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

 for(i=0;i<=3;i++){

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

    {document.write("是大一的人有"+infos[i][3]+"<br/>");}

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

 

  if(infos[i][2]=="女")

  {document.write("是大一女生的名字"+infos[i][1]);}

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

 }

</script>


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

你的判断语句  if([i][2]=="女") 应该if(infos[i][3]=="大一")   输出的时候也是这样的infos[i][3]  以上。

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

<!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,'大三'] ];

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

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

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

    {document.write("是大一的人有"+[i][3]+"<br/>");}

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

 

  if([i][2]=="女")

  {document.write("是大一女生的名字"+[i][1]);}

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

 }

</script>

</head>

<body>

</body>

</html>

还是不行诶,还要怎么改?

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

数组定义就开始错了吧,,直接赋值就不写new Array了吧,,还有只循环4次??for语句中间的条件改成i<=infos.length

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

旋转吧丶雪月花

还有要规范的声明下变量i
2016-04-13 回复 有任何疑惑可以回复我~

<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,'大三'] ];

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

 for(i=0;i<=3;i++){

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

    {document.write("是大一的人有"+infos[i][3]+"<br/>");}

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

 

  if([i][1]=="女")

  {document.write("是大一女生的名字"+infos[i][1]);}

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

 }

</script>


这样改么,为什么还是没有显示,哪里还错了

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

几点错误:

  1. document.write("是大一的人有"+[i][3]+"<br/>");几处if部分和输出部分,[i][3]错误,应该是infos[i][3]

  2.  if([i][2]=="女").性别信息的下表为1

  3. 要求既是大一又是女生的才输出,你的代码会输出:大一所有的人无论男女名字,是女生无论大几的学生名字

综上,几点错误

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

举报

0/150
提交
取消

这样写哪里错了,为什么显示不出来

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