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

流程语句控制编程。为什么要定义n?

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">

//第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var info=[
  ['小A','女',21,'大一'],  ['小B','男',23,'大三'],
  ['小C','男',24,'大四'],  ['小D','女',21,'大一'],
  ['小E','女',22,'大四'],  ['小F','男',21,'大一'],
  ['小G','女',22,'大二'],  ['小H','女',20,'大三'],
  ['小I','女',20,'大一'],  ['小J','男',20,'大三']  
   ];
 

 var n=0;
 var infos=new Array();
 document.write('大一学生的信息:'+'<br/>');
 //第一次筛选,找出都是大一的信息
 for(i=0;i<info.length;i++)
{ 
 if (info[i][3]=='大一')
 {
	 document.write(info[i]+'<br/>');
     infos[n]=info[i];
	 n++
 }
}
  //第二次筛选,找出都是女生的信息
  document.write('女生的姓名:'+'<br/>')
 
 for(i=0;i<infos.length;i++)
 {
 	if (infos[i][1]=='女')
 	{
     document.write(infos[i][0]+'<br/>');
 	}
} 

</script>
</head>
<body>
</body>
</html>


正在回答

3 回答

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

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

var j=0;

 if (infos[i][3]=='大一')  //if (infos[i][3]=='大一') info少了个s

 {

    document.write(infos[i]+'<br/>');   // document.write(info[i]+'<br/>');   info少了个s

   ace[j]=infos[i];   //ace[i]=info[i];  应该用的是j 因为如果没匹配到的话i还是会自动增长 而ace【i】 就会留空了

     j++;

 }

}

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

这里应该再来一个for循环 方法如上



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

你infos数组定义的是二维数组,24行你调用的是一维数组的形式。你在定义ace数组的时候 是一维数组,25行赋值的时候也是,但是你在29行怎么又变成二维数组啦?然后你再前面定义的时候是infos,22行24行数组怎么成了info。我是这么给你改的 你可以参考

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

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

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

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

         //ace[i]=infos[i];
            if (infos[i][1]=='女') {
                  document.write(infos[i][0]+'<br/>');
             }
    }

}


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

淡墨三千4230193 提问者 回复 NASH657

应该是这么回事!感谢~
2016-11-17 回复 有任何疑惑可以回复我~
<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var info=[
  ['小A','女',21,'大一'],  ['小B','男',23,'大三'],
  ['小C','男',24,'大四'],  ['小D','女',21,'大一'],
  ['小E','女',22,'大四'],  ['小F','男',21,'大一'],
  ['小G','女',22,'大二'],  ['小H','女',20,'大三'],
  ['小I','女',20,'大一'],  ['小J','男',20,'大三']  
   ];
 
 var n=0;
 var infos=new Array();
 document.write('大一学生的信息:'+'<br/>');
 //第一次筛选,找出都是大一的信息
 for(i=0;i<info.length;i++)
{ 
 if (info[i][3]=='大一')
 {
  document.write(info[i]+'<br/>');
     infos[n]=info[i];
  n++
 }
}
  //第二次筛选,找出都是女生的信息
  document.write('女生的姓名:'+'<br/>')
 
 for(i=0;i<infos.length;i++)
 {
  if (infos[i][1]=='女')
  {
     document.write(infos[i][0]+'<br/>');
  }
}
</script>
</head>
<body>
</body>
</html>

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

淡墨三千4230193 提问者

for(var i = 0; i < infos.length; i++) { if(infos[i][3] === "大一" && infos[i][1] === "女") { document.write(infos[i][0] + "<br />"); } }
2016-11-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

流程语句控制编程。为什么要定义n?

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