哪里出问题了呢?
<!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 grade=new Array();
j=0;
for(i=0;i<10;i++)
{
if(infos[i][3]=="大一")
{
grade[j]=i;
j++;
}
}
//第二次筛选,找出都是女生的信息
var fina=new Array();
m=0;
for(i=0;i<j;i++)
{
if(infos[grade[i]][1]=="女")
{
fina[m]=infos[grade[i]][0];
m++;
}
}
for(i=0;i<m;i++)
{
document.write(fina[i]+"</br>");
}
</script>
</head>
<body>
</body>
</html>
第一次筛选代码段
for(i=0;i<10;i++)
这个 for 循环的两个括号是中文格式,改成英文格式,代码没问题,亲测。
<!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 grade=new Array();
j=0;
for(i=0;i<10;i++)
{
if(infos[i][3]=="大一")
{
grade[j]=i; /* 这里面grade是一维数组,存储的数据为i的值:[0, 3, 5, 8]; */
j++;
}
}
//第二次筛选,找出都是女生的信息
var fina=new Array();
m=0;
for(i=0;i<j;i++)
{
if(infos[grade[i]][1]=="女")
{
fina[m]=infos[grade[i]][0]; //结果你在这里把grade当二维数组处理了,当然错误。
m++;
}
}
for(i=0;i<m;i++)
{
document.write(fina[i]+"</br>");
}
</script>
</head>
<body>
</body>
</html>