javascript二维数组的写法

javaready 2011-07-25 11:58:23
在网上copy了一个类似这种形式的二维数组


var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}


以前没接触过这样的数组,在浏览器上检验了一下,试了10多个浏览器,就firefox不能使



这是浏览器的兼容问题么,这种二维数组的写法可取么,能改进一下,使其兼容firefox么


谢谢
...全文
665 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyzy_yy_pm 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 s1120624175 的回复:]
就像arr['length'] 和arr.length是等同的一样,,,
[/Quote]
一样吗?
zhangluxu 2011-07-25
  • 打赏
  • 举报
回复
你这是写的类啊~包含两个对象a,b。这种写法浏览器都支持的。
javaready 2011-07-25
  • 打赏
  • 举报
回复
谁帮忙解释一下为什么

var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}


在有些浏览器中可以实现调用,有些浏览器就不行,

还有

这是怎么一种写法,以前没接触过
s1120624175 2011-07-25
  • 打赏
  • 举报
回复
arr.a 和 arr['a'] 没有什么不同吧
就像arr['length'] 和arr.length是等同的一样,,,
kyzy_yy_pm 2011-07-25
  • 打赏
  • 举报
回复
但是你需要arr.a来调用,这样就不是数组的调用方式了

var arr = new Array();
arr['a'] = new Array(1, 2, 3, 4);
arr['b'] = new Array(1, 2, 3, 4, 5);
alert(arr['a']);
alert(arr['b']);
javaready 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kyzy_yy_pm 的回复:]

这样才是真正的二维数组,你给那个不是完全的数组
var arr = [[1, 2, 3, 4], [5, 6, 7, 8]]
[/Quote]

这样写数组,不能给第二维数组定义一个名称么?

比如在[1,2,3,4]加上a: 即var arr = [a:[1, 2, 3, 4], b:[5, 6, 7, 8]]
kyzy_yy_pm 2011-07-25
  • 打赏
  • 举报
回复
而你所说的不兼容是咋回事呢?你怎么用的?
kyzy_yy_pm 2011-07-25
  • 打赏
  • 举报
回复
这样才是真正的二维数组,你给那个不是完全的数组
var arr = [[1, 2, 3, 4], [5, 6, 7, 8]]
简生 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 s1120624175 的回复:]

引用 8 楼 kyzy_yy_pm 的回复:

引用 5 楼 s1120624175 的回复:
就像arr['length'] 和arr.length是等同的一样,,,

一样吗?


恩 你试一下就知道
[/Quote]

还是有差别的。
虽然数组也是对象,但可以理解为一种特殊的对象。
var arr = new Array();
arr['a'] = new Array(1, 2, 3, 4);
arr['b'] = new Array(1, 2, 3, 4, 5);
alert(arr.length); // print: 0
arr[0] = [1,2,3,4];
arr[1] = ['a','b','c'];
alert(arr.length); // print: 2
ZiSheng 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 javaready 的回复:]
谁帮忙解释一下为什么

var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}


在有些浏览器中可以实现调用,有些浏览器就不行,

还有

这是怎么一种写法,以前没接触过
[/Quote]
这个应该是对象直接量,直接付给arr,arr有了两个属性a和b都是数组
rainsilence 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 javaready 的回复:]

引用 15 楼 theforever 的回复:

引用 10 楼 jparser 的回复:
var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}
多于的逗号,在FF下不兼容,会报错。

改成 var arr = {a:[1,2,3,4] , b:[5,6,7,8]}


这样也不行啊 ff还是不能用
[/Quote]
用for in 循环,
或者arr["a"]肯定能用
javaready 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 theforever 的回复:]

引用 10 楼 jparser 的回复:
var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}
多于的逗号,在FF下不兼容,会报错。

改成 var arr = {a:[1,2,3,4] , b:[5,6,7,8]}
[/Quote]

这样也不行啊 ff还是不能用
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jparser 的回复:]
var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}
多于的逗号,在FF下不兼容,会报错。
[/Quote]
改成 var arr = {a:[1,2,3,4] , b:[5,6,7,8]}
kyzy_yy_pm 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 s1120624175 的回复:]

引用 8 楼 kyzy_yy_pm 的回复:

引用 5 楼 s1120624175 的回复:
就像arr['length'] 和arr.length是等同的一样,,,

一样吗?


恩 你试一下就知道
[/Quote]

唉,真无语了,我试了下,果然如你所说,看来平时没注意,多谢了,不然我还不知道,我很纠结
javaready 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jparser 的回复:]

引用 6 楼 javaready 的回复:

谁帮忙解释一下为什么

var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}


在有些浏览器中可以实现调用,有些浏览器就不行,

还有

这是怎么一种写法,以前没接触过

多于的逗号,在FF下不兼容,会报错。
[/Quote]


多余的逗号 什么意思
lsw645645645 2011-07-25
  • 打赏
  • 举报
回复
楼主那个是对象,对象里的a属性,和b属性是一维数组
,不是二维数组啦。
s1120624175 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kyzy_yy_pm 的回复:]

引用 5 楼 s1120624175 的回复:
就像arr['length'] 和arr.length是等同的一样,,,

一样吗?
[/Quote]

恩 你试一下就知道
JParser 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 javaready 的回复:]

谁帮忙解释一下为什么

var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}


在有些浏览器中可以实现调用,有些浏览器就不行,

还有

这是怎么一种写法,以前没接触过
[/Quote]
多于的逗号,在FF下不兼容,会报错。
zhangluxu 2011-07-25
  • 打赏
  • 举报
回复
absolutely~~~
功能:蛇吃食物有三种情况:走到的地方有食物;走到的地方没有食物;走到的地方是墙壁。吃到食物后,蛇的身体会变长;碰到墙壁后 Game Over,询问是否重新开始。 整个游戏是在一个
框子(地图)里展开的,蛇有地图里的一系列
构成,初始状态(刚刚打开页面)蛇是一个
框,蛇头和蛇尾是在一起的,就是这个
框,以后吃了食物后
个数会变多,蛇就会长长。食物用一个框表示,初始时和蛇一样其位置是随机产生的。蛇和食物的坐标用
的绝对位置表示。 算法的关键是当蛇移动到新的位置后,判断前述的三种情况,做出相应的处理。而二维数组 Map[][] 就是判断的依据。二维数组 Map[][]通过其元素的值来表示蛇身、食物和空地。蛇身、食物和空地的值分别为'S'、'F'和'0'。 用 Javascript 编程和其他语言的一个大的区别就是键盘的控制代码不同。js是通过 Key=event.keyCode 语句获取键盘码,再在多分支 switch 结构里分别处理。看完这些代码就会对浏览器里的键盘控制有所了解了。 当然该段代码的最大价值还是让我们了解到网页游戏的大概写法,而算法其实是最重要的,把一个游戏的设想变为一堆包含许多的函数的结构化的代码,是值得我们借鉴和学习的。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧