SvenAs
2016-01-19 21:26
var arr1 = [];
var n = 0;
for(var i=0;i<infos.length;i++)
{
if( infos[i][3] == "大一" )
{
arr1[n] = infos[i];
document.write(arr1[n]+"<br/>");
n=n+1;
}
}
这里我实在是无力看懂。。。
有哪位懂得同学可以详细解说一下?谢谢!
你用infos[i][j]存放这个数组i=10,j=4;注意数组最后一个是infos[9][3]; 你把10行数据存入数组,每行数据又包含4个数据,如果相判断“大一“就找一下每行数据的第四个数据也就是infos[i][3],这里用arr[]数组我觉得多余了,可以不必用,直接
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var n=[ ['小A','女',21,'大一'], ['小B','男',23,'大三'],
['小C','男',24,'大四'], ['小D','女',21,'大一'],
['小E','女',22,'大四'], ['小F','男',21,'大一'],
['小G','女',22,'大二'], ['小H','女',20,'大三'],
['小I','女',20,'大一'], ['小J','男',20,'大三']]
//第一次筛选,找出都是大一的信息
for(var i=0;i<n.length;i++){
if(n[i][3]=="大一"){
document.write(n[i]+"</br>");
}
}
document.write("</br>");
//第二次筛选,找出都是女生的信息
for(var i=0;i<n.length;i++){
if(n[i][1]=="女"){
document.write(n[i]+"</br>");
}
}
这样就OK了!!
运行结果不对吧
var ifos=[
['小A','女',21,'大一'],['小B','男',23,'大三'],
['小C','男',24,'大四'],['小D','女',21,'大一'],
['小E','女',22,'大四'],['小F','男',21,'大一'],
['小G','女',22,'大二'],['小H','女',20,'大三'],
['小I','女',20,'大一'],['小J','男',20,'大三']]
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
for(var i=0;i<ifos.length;i++)
{
/*第一种方法,一个if,两个判断
if(ifos[i][3] == "大一" && ifos[i][1] =="女")
{
document.write(ifos[i] + "<br />")
}*/
//第二种方法 两个if,连续判断
if(ifos[i][3] == "大一" )
{
if(ifos[i][1] =="女")
{document.write(ifos[i] + "<br />") }
}
}
var arr1 = [];创建的这个数组使用来存放筛选出来是大一的人的信息;
if( infos[i][3] == "大一" )表示的是判断infos这个数组中第四个信息,也就是二维数组中第四列信息是否为“大一”;
arr1[n] = infos[i];如果判断出infos这个二维数组的第一行就符合的话就把这一行的信息存入arr1这个数组中,也就是arr1[0]=infos[0]
首先创建的是二维数组infos[i][j];然后目的是找大一的女生;
题目中给的是10组一维数组[a,b,c,d]*10,这些一维数组中区别大一大二的是d,数组中下标是3
所以判断infos[i][3]==“大一"就可以判断了,判断是否是女生也同理
在一维数组中女生是出现在a即下标为0,所以infos[i][0]=="女生"
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题