大只茹
2016-05-31 11:09
<!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 infos1=new Array();
var infos2=new Array();
for(var i=0,h=0;i<infos.length;i++)
{
for(var j=0;j<infos[0].length;j++)
{
if(infos[i][j]=='大一')
{
infos1[h]=infos[i];//这样赋值不可以吗?
document.write(infos1[h]+"<br>");
/* infos1.push(infos[i]);
document.write(infos1[h]+"<br>");//屏蔽infos1[h]=infos[i],下面句子中h显示undefined,怎么回事?*/
}
else
{
continue;
}
}
}
document.write(infos1+"<br>");//为什么显示不出这个数组?
document.write(infos1.length+"<br>"); //为什么结果显示为1?
//第二次筛选,找出都是女生的信息
for(var i=0,h=0;i<infos1.length;i++)
{
for(var j=0;j<infos1[0].length;j++)
{
if(infos1[i][j]=='女')
{
infos2[h]=infos1[i];
document.write(infos2[h][0]+"<br>");
}
else
{
continue;
}
}
}
</script>
</head>
<body>
</body>
</html>
你h忘记自加了
infos1[h]=infos[i];
document.write(infos1[h]+"<br>");
h++;
然后你这代码实在是乱的可以,没法帮你改,建议你从新写;
<script type="text/javascript">
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var infos=[["小a","女",21,"大一"],["小b","女",21,"大一"],["小c","女",21,"大一"],["小d","女",21,"大一"],["小e","女",21,"大一"],["小f","女",21,"大一"],["小g","女",21,"大一"],["小h","女",21,"大一"],["小i","女",21,"大一"],["小j","女",21,"大一"]];
//第一次筛选,找出都是大一的信息
for(var i=0;i<infos.length;i++){
var jr=infos[i][3];
var wx=infos[i][1];
if(wx=="女" && jr=="大一"){
document.write(infos[i]+"<br/>");
}
}
</script>
我数组里的信息是复制的一样的,因为怕麻烦,但是结果是对的,自己看看吧
首先第一个问题,你定义数组应该用大括号,而不是中括号
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题