问答详情
源自:4-10 编程练习

我这样写是否可取?

  var infos = new Array(("小A","女","21","大一"),("小B","男","23",大三),("小C","男","24","大四"),("小D","女","21","大一"),("小E","女","22","大四"),("小F","男","21","大一"),("小G","女","22","大二"),("小H","女",20,"大三"),("小I","女",20,"大一"),("小J","男","20","大三"))

 

   var infos = 

 [

    ['小A','女',21,'大一'],

    ['小B','男',23,'大三'],

['小C','男',24,'大四'],

['小D','女',21,'大一'],

['小E','女',22,'大四'],

    ['小F','男',21,'大一'],

['小G','女',22,'大二'],

['小H','女',20,'大三'],

['小I','女',20,'大一'],

['小J','男',20,'大三']

  ];



第一种写法可取吗?

提问者:1nvisible丶 2016-08-31 22:31

个回答

  • Airly
    2016-09-06 12:54:14

    第一种写法不对!应该这样写~

     var infos = new Array(['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'], ['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']);


  • 离歌笑_0002
    2016-09-01 12:04:34

    第一种不可取.简单实验:var myarr = new Array(("0","1"))  ; 

    document.write(myarr[0]);  可以取得结果:1;

    document.write(myarr[0][0]); 可以取得:1;

    document.write(myarr[0][1]);可以取得:undefined;

    若var myarr = new Array(("0","1"),("2","3"));

    document.write(myarry[1]);可以取得:3;和myarr[1][0] 结果一样;

    分析:首先这种写法,源于一维数组的定义---var myarr = new Array(); 

    再看上面结果,发现前面的0都不会被取到,

    说明你这种写法写的无意义;而且官方也没有这种写法;如果想理解为二维那就更不行了,这个只是一维的写法


  • qq_TO世界尽头_03751774
    2016-08-31 23:18:11

    第一种形式不对吧,两种创建数组的方法是不是混了?是不是应该var infos=new Arraw(10);

    for(var i = 0;i<infos.length;i++)

    {

        infos[i]=new Arraw(4);

    }

    这样创建好了再赋值吧。

  • 慕粉3857263
    2016-08-31 22:40:08

    不可取。你可以试一试。在编辑器打出第一种代码,然后ducument.write(infos);会发现没有东西,换成第二种代码后就会显示出整一个二维数组。