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

关于javascript数组?

关于javascript数组?

错过了年华 2016-11-12 13:49:35
慕课网的例题: var myarr=new Array();  //先声明一维  for(var i=0;i<2;i++){   //一维长度为2    myarr[i]=new Array();  //再声明二维     for(var j=0;j<3;j++){   //二维长度为3    myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j    }  }只能依样画葫芦,对于定义数组还是不太理解既然定义了二维数组:myarr[i][j],一维不是[i]?二维不是[j]?既然有myarr[i]=new Array();了, 为什么没有myarr[j]=new Array();?<script type="text/javascript">     var myarr=new Array();     for(var i=0;i<3;i++)     {         myarr[i]=new Array();         for(var j=0;j<6;j++)        {            myarr[j]=new Array();            myarr[i][j]=i*j;             document.write('myarr['+i+']['+j+']='+myarr[i][j]+"<br>");        }     } </script>试过了这样也可以运行
查看完整描述

3 回答

?
qq_小盛开_0

TA贡献31条经验 获得超3个赞

javascript中没有真正的多维数组概念,这是与c类语言的区别

查看完整回答
反对 回复 2016-11-12
?
出世Sunny

TA贡献5条经验 获得超5个赞

这个东西要这样理解,myarr=new Array(),意思是myarr变成了一个数组,等于 myarr=[],因为没往里面放东西嘛。然后呢,你有疑问的地方,myarr[i]=new Array(),myarr[i]是什么呢,是数组里的元素,也就是数组里的东西,一般来说数组里的东西就是数字啊,字符串啊,但也可以是对象,是另一个数组,所以这里的意思就是myarr这个数组里序号为i的元素为一个数组。考虑到i的取值,如果只遍历i的情况下,就等于这样 myarr=[ [],[],[] ]  ,myarr[0]就是里面的第一个数组,以此类推。

查看完整回答
反对 回复 2016-11-12
?
慕田峪3555374

TA贡献137条经验 获得超18个赞

myarr[i]=new Array();//myarr[j]=new Array();这个要与不要的却没什么区别,不要的话只是直接赋值而已,因为js数组可以支持的数据类型比较多

查看完整回答
反对 回复 2016-11-12
  • 错过了年华
    错过了年华
    既然定义了二维数组:myarr[i][j], 一维不是[i]? 二维不是[j]? 既然有myarr[i]=new Array();了, 为什么没有myarr[j]=new Array();? 总感觉看着不对称。。。
  • 慕田峪3555374
    慕田峪3555374
    这个就是你理解的问题了,严格意义上来说js是没有多位数组的,也不可以定义多维数组,这样写是因为js数组元素支持的数据类型比较多,而你那个i和j只是数组的键而已
  • 3 回答
  • 0 关注
  • 1748 浏览
慕课专栏
更多

添加回答

举报

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