javascript二维数组的写法

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


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


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



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


谢谢
...全文
725 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~~~

87,990

社区成员

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

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