问答详情
源自:4-10 编程练习

代码:参考答案

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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,'大三']]

//筛选所有学生中年级为大一的学生
document.write("<b style='color:red;'>===所有学生中,大一学生的有===</b>"+"<br>");
var dayi=new Array();
var j=0;
for(var i=0;i<infos.length;i++)
{
	if(infos[i][3]=="大一")
	{
		dayi[j]=infos[i];
		document.write(dayi[j]+"<br>");
		j++;
	}
}

//筛选大一学生中,性别为女生的学生
document.write("<br>"+"<b style='color:red;'>===大一学生中,是女生的有===</b>"+"<br>");
var xingbie=new Array();
var x=0;
for(var m=0;m<dayi.length;m++)
{
	if(dayi[m][1]=="女")
	{
		xingbie[x]=dayi[m];
		document.write(xingbie[x]+"<br>");
		x++;
	}
}


//筛选大一学生中,性别为男生的学生
document.write("<br>"+"<b style='color:red;'>===大一学生中,是男生的有===</b>"+"<br>");
for(var m=0;m<dayi.length;m++)
{
	if(dayi[m][1]=="男")
	{
		xingbie[x]=dayi[m];
		document.write(xingbie[x]+"<br>");
		
	}
}

//筛选大一女人中年龄为21的学生
document.write("<br>"+"<b style='color:red;'>===大一女生中,21岁的人有===</b>"+"<br>");
var age=new Array();
var y=0;
for(var n=0;n<xingbie.length;n++)
{
	if(xingbie[n][2]=="21")
	{
		age[y]=xingbie[n];
		document.write(age[y]+"<br>");
	}
}


//筛选大一女人中年龄为20的学生
document.write("<br>"+"<b style='color:red;'>===大一女生中,20岁的人有===</b>"+"<br>");
for(var n=0;n<xingbie.length;n++)
{
	if(xingbie[n][2]=="20")
	{
		age[y]=xingbie[n];
		document.write(age[y]+"<br>");
	}
}
</script>
</head>
<body>
</body>
</html>


提问者:tiao 2015-07-11 18:00

个回答

  • 慕斯卡9626126
    2015-08-07 19:50:42

    <!DOCTYPE  HTML>
    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>流程控制语句</title>
    <script type="text/javascript">
    
     //第一步把之前的数据写成一个数组的形式,定义变量为 infos
     var infos=[
        ['小A','女',21,'大一'],  ['小B','男',23,'大三'],
        ['小C','男',24,'大四'],  ['小D','女',21,'大一'],
        ['小E','女',22,'大四'],  ['小F','男',21,'大一'],
        ['小G','女',22,'大二'],  ['小H','女',20,'大三'],
        ['小I','女',20,'大一'],  ['小J','男',20,'大三']
        ]
     //第一次筛选,找出都是大一的信息
     var i=0;
     var j=0;
     var dy= new Array();
     for(i=0;i<infos.length;i++){
         if(infos[i][3]=="大一"){
             dy[j]=infos[i];
             document.write(dy[j]+"<br/>");
             j++;
         }
     }
     //第二次筛选,找出都是女生的信息
     
     for(j=0; j<dy.length;j++){
         if(dy[j][1]=="女"){
             document.write(dy[j]+"<br/>");
         }
     }
    
    </script>
    </head>
    <body>
    </body>
    </html>

    既然第一步已经确定都是大一学生,后面的都在大一这个条件上选择,那么是不是不用再创建新的数组?而直接利用第一步的数组?