只能出现一次筛选,第二次不出现结果是为什么?

来源:4-10 编程练习

慕盖茨1197844

2018-12-12 09:07

只出现第一次筛选,第二次不出现;如果把第二次筛选的代码放到第一次前面,第二次筛选就会显示,同理第一次筛选就不显示这是什么情况

代码如下:

<!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(var i=0;i<=infos.length;i++){

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

         document.write("大一:"+infos[i]+"<br>");

     }

 }

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

 

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

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

         document.write("女:"+infos[j]+"<br>");

     }

 }

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

 </script>

</head>

<body>

</body>

</html>


写回答 关注

3回答

  • higandawn
    2018-12-12 10:30:38
    已采纳

    我知道你问题出在哪里了https://img1.mukewang.com/5c1071cd0001b4d807160460.jpg

    你没有搞懂“.length”函数的用法;

    这个函数infos.length =10 ,但是数组只有10位,而且再加上你的 “j=0和j<=10”那个for循环就会运行11次,也就是第11次不知道运行什么就会有错误

    所有“j<infos.length”不能用小于等于号;

  • 阳火锅
    2018-12-12 11:28:27

    https://img3.mukewang.com/5c107ffd0001d7af03850075.jpg我的意思是他应该指出这个题的正解答案。。而不是只说循环的问题。。当然他说的没错。。但是你这个题目做出来的答案不对。。答案如果不对。。你就没理解这个题的目的

    慕盖茨119...

    好的。。谢谢!!你不说我的确没有发现审题错误了。

    2018-12-12 11:36:20

    共 1 条回复 >

  • 阳火锅
    2018-12-12 11:07:56

    你被上面这位仁兄误导啦

    慕盖茨119...

    按照上面的说法我进行修改的确能够成功运行了,不知道您说的误导是指什么?

    2018-12-12 11:15:46

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题