慕用4354564
2018-05-08 12:58
<script type="text/javascript">
var infos=[
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小G','女',22,'大二'],
['小I','女',20,'大一'],
['小J','男',20,'大三']]//第一步把之前的数据写成一个数组的形式,定义变量为 infos
document.write("第一次筛选大一的信息人员");
var arr=new Array();
var j=0;
for(var i=0;i<=infos.length;i++)
{
if(infos[i][3]=="大一")
{
document.write("<br>"+infos[i]+"<br>");
arr[j]=infos[i];
j++;
}
}//第一次筛选,找出都是大一的信息
document.write("第二次筛选大一的信息人员");
for(var j=0;j<=arr.length;j++)
{
if(arr[j][1]=='女')
{
document.write(arr[j]+"<br>");
}
}
//第二次筛选,找出都是女生的信息
</script>
<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 arr=new Array();
//第一次筛选,找出都是大一的信息
for(var i=0;i<infos.length;i++){
arr[i]=new Array();
if(infos[i][3]=="大一"){
arr[i]=infos[i];
document.write(arr[i]+"<br />");
}
}
//第二次筛选,找出都是女生的信息
for(var j=0;j<arr.length;j++){
if(arr[j][1]=='女'){
document.write(arr[j][0]+"<br/>");
}
}
</script>
你的代码有报错,在编辑器里试试。循环的条件不能等于数组的长度,数组里没有这一项
越界了,i和j等于数组长度的时候,arr[i]表示长度的下一个索引
循环可以用for(var i in arr){执行语句}
例如:
<!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 arr = new Array();
for(var i in infos){
if(infos[i][3]=='大一'){
arr[i] = infos[i];
}
}
//第二次筛选,找出都是女生的信息
for(var j in arr){
if(arr[j][1]=='女'){
document.write(arr[j]+"<br/>");
}
}
</script>
</head>
<body>
</body>
</html>
第二次局部变量j和全局变量j有冲突,下面的循环仍然可以用i,不放心的话,试下k
JavaScript进阶篇
468191 学习 · 21891 问题
相似问题