淡墨三千4230193
2016-11-16 22:10
<!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>
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循环 方法如上
你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/>');
}
}
}
<!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>JavaScript进阶篇
469074 学习 · 22582 问题
相似问题