<!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,'大三']];
//第一次筛选,找出都是大一的信息
for(var a=0;a<infos.length;a++)
{
for(var b=0;b<infos[a].length;b++)
{
if(infos[a][b]=="大一")
{
var str1=infos[a];
}
}
}
//第二次筛选,找出都是女生的信息
for(var a=0;a<str1.length;a++)
{
for(var b=0;b<str1[a].length;b++)
{
if(str1[a][b]=="女生")
{
var str2=str1[a];//str2数组存的是含有大一和女生的值的数组
}
}
}
//打印出数组str2中的姓名
for(var a=0;a<str2.length;a++)
{
document.write(str2[a][0]+"<br/>");
}
</script>
</head>
<body>
</body>
</html>
var str1=infos[a];
你想通过你写的代码要告诉我什么呢?我试了下你的代码,无法输出所要求的结果啊。
建议你在关键地方添加documen.write函数,查看下一些变量到底存储的是什么值,也许和你自己想象中的不太一样,你看到后应该就会发现问题了。下面是我在一些地方添加输出函数后的代码,你可以直接运行一下看看
<!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, '大三']];
//第一次筛选,找出都是大一的信息
for (var a = 0; a < infos.length; a++) {
for (var b = 0; b < infos[a].length; b++) {
if (infos[a][b] == "大一") {
var str1 = infos[a];
}
}
}
document.write(str1 + "<br>");
document.write(str1.length + "<br>");
//第二次筛选,找出都是女生的信息
for (var a = 0; a < str1.length; a++) {
for (var b = 0; b < str1[a].length; b++) {
document.write(str1[a][b] + "<br>");
if (str1[a][b] == "女生") {
var str2 = str1[a];//str2数组存的是含有大一和女生的值的数组
}
}
}
//打印出数组str2中的姓名
for (var a = 0; a < str2.length; a++) {
document.write(str2[a][0] + "<br/>");
}
</script>
</head>
<body>
</body>
</html>