奶油面包
2016-03-22 11:29
<script type="text/javascript">
var infos = [
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三']];
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var arr=new Array();
var n=0;
for(i=0;i<=infos.length;i++)
{
if(infos[i][3]=="大一")
{
document.write("第一次:"+infos[i]+"<br/>");
arr[n]=infos[i];
n++;
}
}
//第一次筛选,找出都是大一的信息
for(n=0;n<arr.length;n++)
{
if(arr[n][1]=="女")
{
document.write("第二次:"+arr[n][0]);
}
}
//第二次筛选,找出都是女生的信息
</script>
大神,您的错误在 for(i=0;i<=infos.length;i++) infos.length是10,当你的循环到i=10时;infos[10]是不存在的,所以JavaScript报错,后面的代码就不执行了!!!PS:小小吐槽一下,我这个新手debug这段代码用了一小时。。。。。
or(var i=0;i<infos.length;i++)
{
if(infos[i][2-1]=="女" && infos[i][4-1]=="大一")//筛选两次就仅仅得出要的
{
document.write(infos[i][1-1]+"<br/>")//只输出名字
}
}
没明白 要问什么
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题