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

二维数组的赋值的问题

请问这段代码为何无输出?二维数组不能这样赋值吗?

正在回答

5 回答

1、var dayi = new Array();        //正确

2、dayi[k]    = new Array()          //你在最后的循环里,将dayi的每个元素重新定义为array。就可以了。你试下。




0 回复 有任何疑惑可以回复我~
#1

cesiya23 提问者

为什么要重新定义一次呢?表示不解,这步骤是必须的吗?
2015-10-20 回复 有任何疑惑可以回复我~
#2

紫焰123 回复 cesiya23 提问者

那你为什么要 var dayi = new Array(); 呢?
2015-10-20 回复 有任何疑惑可以回复我~
#3

cesiya23 提问者

非常感谢!
2015-10-24 回复 有任何疑惑可以回复我~
var infos=
  [ ['小A','女',21,'大一'],  ['小B','男',23,'大三'],

    ['小C','男',24,'大四'],  ['小D','女',21,'大一'],

    ['小E','女',22,'大四'],  ['小F','男',21,'大一'],

    ['小G','女',22,'大二'],  ['小H','女',20,'大三'],

    ['小I','女',20,'大一'],  ['小J','男',20,'大三']
  ]
 
 //第一次筛选,找出都是大一的信息
for(i=0;i<10;i++){
    if(message[i][3]=='大一'){
        if(message[i][1]=='女'){
            document.write(message[i][0]);
        }
    }
}
0 回复 有任何疑惑可以回复我~
#1

cesiya23 提问者

这样只能打印出来,我需要把大一学生的信息都另外存一个数组,谢谢了。
2015-10-20 回复 有任何疑惑可以回复我~

document.write("大一学生的信息:<br>")
 for (i=0;i<=9;i++) { 
    if(infos[i][3] == '大一'){
        dayi[k] = infos[i];
        document.write(dayi[k]+"<br>");
        k++;
    }; }

中间循环的那一段改成这段代码就可以了。


0 回复 有任何疑惑可以回复我~
#1

cesiya23 提问者

谢谢,不过我就是想知道我这样的二维数组赋值为什么不对
2015-10-20 回复 有任何疑惑可以回复我~

这样写太麻烦了,我把你的代码优化了一下,一个是找出全是女的信息,一个是找出全是大一的信息

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">

 //第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var infos = new Array();
 infos = [
     ['小A','女',21,'大一'],
     ['小B','男',23,'大三'],
     ['小C','男',24,'大四'],
     ['小D','女',21,'大一'],
     ['小E','女',22,'大四'],
     ['小F','男',21,'大一'],
     ['小G','女',22,'大二'],
     ['小H','女',20,'大三'],
     ['小I','女',20,'大一'],
     ['小J','男',20,'大三']
     ];
 var dayi = new Array();
 var j = 0;
 document.write("大一女学生的信息:<br>")
 for (i=0;i<=9;i++)
 {  
    if(infos[i][3] == '大一' && infos[i][1] == "女")
    {
        dayi[j] = infos[i];
        document.write(dayi[j]+"<br>");
        j++;
    };

 }
 
 document.write("大一学生的信息:<br>")
 for (i=0;i<=9;i++)
 {  
    if(infos[i][3] == '大一')
    {
        dayi[j] = infos[i];
        document.write(dayi[j]+"<br>");
        j++;
    };

 }

 
 //第一次筛选,找出都是大一女生的信息
 //第二次筛选,找出都是大一的信息
</script>
</head>
<body>
</body>
</html>


0 回复 有任何疑惑可以回复我~
#1

cesiya23 提问者

我知道这个写法,谢谢了。
2015-10-20 回复 有任何疑惑可以回复我~
#2

慢慢走0

j++是什么意思 为什么要写在这 可以解释一下吗?
2016-01-10 回复 有任何疑惑可以回复我~

天啊撸,你的需求是要筛选出大一中的女生吗?

0 回复 有任何疑惑可以回复我~
#1

cesiya23 提问者

是的。
2015-10-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

二维数组的赋值的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信