为了账号安全,请及时绑定邮箱和手机立即绑定

JS关于二维数组的问题

JS关于二维数组的问题

karlmarx 2016-05-22 02:59:21
在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。 学生信息如下:     ('小A','女',21,'大一'),  ('小B','男',23,'大三'),     ('小C','男',24,'大四'),  ('小D','女',21,'大一'),     ('小E','女',22,'大四'),  ('小F','男',21,'大一'),     ('小G','女',22,'大二'),  ('小H','女',20,'大三'),     ('小I','女',20,'大一'),  ('小J','男',20,'大三')     如果大一,和女生的循序不是固定的3和1。如何自动检索?<script type="text/javascript">        var infos = [["小A", "女", 21, "大一"], ["小B", "男", 23, "大三"], ["小C", "男", 24, "大四"], ["小D", "女", 21, "大一"], ["小E", "女", 22, "大四"], ["小F", "男", 21, "大一"], ["小G", "女", 22, "大二"], ["小H", "女", 20, "大三"], ["小I", "女", 20, "大一"], ["小J", "男", 20, "大三"]]; //第一步把之前的数据写成一个数组的形式,定义变量为 infos        for (i = 0; i < infos.length; i++) {                    for (j = 0; j <= 3; j++) {                if (infos[i][j] == '女' && infos[i][j] == '大一') {                   document.write(infos[i] + '<p>');                 }            }        }    </script>
查看完整描述

2 回答

已采纳
?
蜂之谷

TA贡献564条经验 获得超863个赞

<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,'大三']
];
for(var i=0;i<infos.length;i++){

	var isDayi = false;
	var isNv = false;

	for(var j=0;j<infos[i].length;j++){
		var arr = infos[i];
		if(arr[j] == '大一'){
			isDayi = true;
		}
	}

	for(var j=0;j<infos[i].length;j++){
		var arr = infos[i];
		if(arr[j] == '女'){
			isNv = true;
		}
	}

	if(isDayi && isNv){
		document.write(infos[i][0] + "<br/>")
	}

}
</script>

看看是不是你想要的

查看完整回答
2 反对 回复 2016-05-22
  • karlmarx
    karlmarx
    谢谢你。是这样的,但是我还有一个问题,为什么还要声明 var isDayi = false;var isNv = false; 为什么不可以直接if(arr[j] == '大一'){ document.write(infos[i][0] + "<br/>") }
?
晴书文文

TA贡献64条经验 获得超75个赞

我来写一些代码:

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<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,'大三']
];
for(var i=0;i<infos.length;i++){
    if(infos[i][3]=="大一" && infos[i][1]=="女"&&infos[i][2]){
        document.write(infos[i][0] + "<br/>")
    }
}
</script>
</head>
<body>
</body>
</html>

你可以看看我的和你的有什么不同,然后再试试!


请采纳!

查看完整回答
2 反对 回复 2016-05-22
  • karlmarx
    karlmarx
    恩恩 ,谢谢啊。 这个写法 我知道写。但是与没有想过,如果大几和性别不是固定位置[3]和[1],而是打乱的如['小A','女',21,'大一'],['女','小D',大一,'22'],那如何就行第二次检索,找到‘大一’和‘女’?
  • 2 回答
  • 0 关注
  • 1665 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信