<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var infos = new Array();
infos=[
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三'],
];
//第一次筛选,找出都是大一的信息
// document.write("1.输出都是大一的所有信息:"+"<br/>");
// for(i=0;i<=infos.length;i++)
//{
// var j=3;
// if(infos[i][j]=="大一")
// document.write(infos[i] + "<br/>");
// }
//第二次筛选,找出都是女生的信息
//function num2{
document.write("2.打印出都是大一女生姓名:");
for(i=0;i<=infos.length;i++)
{
var j=3;
if(infos[i][j]=="大一"){
var newarr = new Array();
newarr.push(infos[i]);
for(x=0;x<newarr.length;x++){
var y=1;
if(newarr[x][y]=="女"){
document.write(newarr[x][0]+"<br/>");
}
}
}
}
//}
</script>
</head>
<body>
</body>
</html>问题是这样的,我循环找到了大一的学生,想把找到的大一学生放进一个新数组,然后再从新数组里面全是女的学生名字,求解答
嗯,我看了一下。你的代码是正确的。我当时是看到你的题目里有个错别字,没有理解清楚你的意思。然后看你创建了一个newArray在循环,以为你可能循环错了。你最后上传的代码比之前的好。
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
infos=[
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三'],
];
var newarr = new Array();
var x=0;
//第一次筛选,找出都是大一的信息
document.write("1.筛选出是大一学生的所有信息:<br/>");
for(i=0;i<infos.length;i++)
{
var j=3;
if(infos[i][j]=="大一"){
newarr[x]=infos[i];
x++;
document.write(infos[i] + "<br/>");
}
}
//第二次筛选,找出都是女生的信息
document.write("<br/>2.筛选出是大一的女生姓名:<br/>");
for(x=0;x<newarr.length;x++)
{
var y=1;
if(newarr[x][y]== "女")
document.write(newarr[x][0] + "<br/>");
}
</script>
</head>
<body>
</body>
</html>这是拆分后的代码。应该看上去没这么乱,=。=
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var infos = new Array();
infos=[
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三'],
];
//第一次筛选,找出都是大一的信息
document.write("1.输出都是大一的所有信息:"+"<br/>");
for(i=0;i<infos.length;i++)
{
var j=3;
if(infos[i][j]=="大一")
document.write(infos[i] + "<br/>");
}
//第二次筛选,找出都是女生的信息
//function num2{
document.write("<br/>2.打印出都是大一女生姓名:<br/>");
for(i=0;i<infos.length;i++)
{
var j=3;
if(infos[i][j]=="大一"){
var newarr = new Array();
newarr.push(infos[i]);
for(x=0;x<newarr.length;x++){
var y=1;
if(newarr[x][y]=="女"){
document.write(newarr[x][0]+"<br/>");
}
}
}
}
//}
</script>
</head>
<body>
</body>
</html>这是修改后的代码。
你这样写逻辑肯定是不对的,你需要等大一学生统计完了(for大一学生执行完了之后),才能统计大一的女的。