题目是先筛选出大一学生,再选出女生,然后显示出名字。
(还有其他写法,但我想知道像下面这种的正确写法)
<script type="text/javascript"> 2 //第一步把之前的数据写成一个数组的形式,定义变量为 infos 3 var infos = [ 4 ['小A', '女', 21, '大一'], 5 ['小B', '男', 23, '大三'], 6 ['小C', '男', 24, '大四'], 7 ['小D', '女', 21, '大一'], 8 ['小E', '女', 22, '大四'], 9 ['小F', '男', 21, '大一'], 10 ['小G', '女', 22, '大二'], 11 ['小H', '女', 20, '大三'], 12 ['小I', '女', 20, '大一'], 13 ['小J', '男', 20, '大三'], 14 ] 15 16 var nianJi = new Array(); //重新定义新数组来装满足条件的数组 17 var j; 18 //第一次筛选,找出都是大一的信息 19 for (var i = 0; i < 10; i++) { 20 if (infos[i][3] == "大一") { 21 document.write(infos[i][0] + "<br>"); 22 nianJi[j] = i;//这里是个空数组,没有赋值。 23 } 24 } 25 26 // //第二次筛选,找出都是女生的信息 27 for (var i = 0; i < nianJi.length; i++) { 28 if (nianJi[j][1] == "女") { 29 document.write(nianJi[j][0] + "<br>"); 30 } 31 } 32 </script>
//第一步把之前的数据写成一个数组的形式,定义变量为 infos var infos = [ ['小A', '女', 21, '大一'], ['小B', '男', 23, '大三'], ['小C', '男', 24, '大四'], ['小D', '女', 21, '大一'], ['小E', '女', 22, '大四'], ['小F', '男', 21, '大一'], ['小G', '女', 22, '大二'], ['小H', '女', 20, '大三'], ['小I', '女', 20, '大一'], ['小J', '男', 20, '大三'], ]; var info=infos.filter(function(item){ if(item[3]=="大一"&&item[1]== "女"){return true;} }); console.log(info);// info就是根据条件过滤后的数据
首先感谢您抽出宝贵时间来帮我解答,您的这种写法我会,我希望教我的是在筛选完大一学生后,将大一学生放到一个新数组里,然后再用这个装有大一学生的新数组筛选女生,我不会筛选完大一学生,然后把这些学生的信息给另一个信数组
nianJi[j] = i;//这里是个空数组,没有赋值。
改成nianJi[j] = infos[i];
感谢您抽出宝贵时间帮我解答!
nianJi .=infos[i]
感谢您抽出宝贵时间帮我解答
//第一次筛选,找出都是大一的信息 for (var i = 0; i < 10; i++) { if (infos[i][3] == "大一") { document.write(infos[i][0] + "<br>"); nianJi.push(infos[i]);//添加这一步即可 } }
感谢您抽出宝贵时间帮我解答,我会认真学习的。