在网上copy了一个类似这种形式的二维数组
var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}
以前没接触过这样的数组,在浏览器上检验了一下,试了10多个浏览器,就firefox不能使这是浏览器的兼容问题么,这种二维数组的写法可取么,能改进一下,使其兼容firefox么
谢谢

解决方案 »

  1.   

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

  2.   


    这样写数组,不能给第二维数组定义一个名称么?比如在[1,2,3,4]加上a:     即var arr = [a:[1, 2, 3, 4], b:[5, 6, 7, 8]]
      

  3.   

    但是你需要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']);
      

  4.   

    arr.a 和 arr['a'] 没有什么不同吧
     就像arr['length'] 和arr.length是等同的一样,,,
      

  5.   

    谁帮忙解释一下为什么var arr = {a:[1,2,3,4,] , b:[5,6,7,8,]}
    在有些浏览器中可以实现调用,有些浏览器就不行,还有这是怎么一种写法,以前没接触过
      

  6.   

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

  7.   

    用for in 循环,
    或者arr["a"]肯定能用
      

  8.   

    这个应该是对象直接量,直接付给arr,arr有了两个属性a和b都是数组
      

  9.   


    还是有差别的。
    虽然数组也是对象,但可以理解为一种特殊的对象。
    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