javascript创建多维数组语法

时间:2011-02-10 20:11:01

标签: javascript

今天我听说可以使用这种语法在js中创建一个多维数组:

var a = new Array(3,3);
a[2][2] = 2;
alert(a[2][2])

然而,这在歌剧中不起作用。我错了吗?

3 个答案:

答案 0 :(得分:7)

是的,你错了。 var a = new Array(3,3);表示与var a = [3,3];相同。它创建一个包含两个成员的数组:Number 3和Number 3

数组构造函数是JavaScript语言设计中最糟糕的部分之一。给定单个值,它确定数组的长度。给定多个值,它使用它们来初始化数组。

始终使用var a = [];语法。它是一致的(并且更短,更容易阅读)。

创建数组数组没有捷径语法。你必须分别构建每一个。

var a = [ 
          [1,2,3],
          [4,5,6],
          [7,8,9]
         ];

答案 1 :(得分:2)

您发布的代码生成一个由两个整数组成的数组。然后,您尝试将整数视为数组。

mv = new Array();
mv[0] = new Array();
mv[0][0] = "value1-1";
mv[0][1] = "value1-2";

mv[1] = new Array();
mv[1][0] = "value2-1";
mv[1][1] = "value2-2";

无法直接实例化多维数组。

答案 2 :(得分:0)

你想创建一个数组数组,但是 你正在创建一个包含2个元素的数组:

var a = new Array(3,3);
// a = [3,3]

如果你想创建一个多维数组,你必须考虑数组的数组 这样,二维数组(或矩阵)将被定义为:

var a = [[],[]];//or var a = new Array([],[]);
//or if you want to initialize the matrix : 
var b = [
    [1,2],
    [3,4]
];