Javascript中是否存在多维数组类型?

时间:2013-01-09 22:23:56

标签: javascript arrays

我过去在Microsoft Small Basic编程,可以有这样的数组:

Array[1][1] = "Hello"
Array[1][2] = "Hi"
Array[1][2] = "Hey"

现在,在Javascript中,我知道如何创建单个数组(var Array = New Array()),但是有没有像上面那样的数组类型?

5 个答案:

答案 0 :(得分:8)

JavaScript中没有真正的多维数组。但是你可以像你一样创建一个数组数组。

JavaScript的数组只是具有特殊length属性和不同原型链的对象。

答案 1 :(得分:2)

是的,您需要创建array arrays

var x = new Array(3);
x[0] = new Array(3);
x[1] = new Array(3);
x[2] = new Array(3);

x[0][0] = "Hello";
etc.

请记住,索引是从零开始的。

修改

或者:

var x=[];
x[0] = [];
x[1] = [];
x[2] = [];
...
x[0][0] = "Hello";

etc.

答案 2 :(得分:0)

最简单的方法是声明一个数组,并用一堆其他数组初始化它。例如:

var mArray = [
  [1,2,3],
  [4,5,6]
  ];

window.alert(mArray[1][1]); //Displays 5

正如其他人所指出的那样,这并不是实际上标准意义上的多维数组。它只是一个发生的数组,用于包含其他数组。你可以很容易地拥有一个包含3个其他数组的数组,一个int,一个字符串,一个函数和一个对象。 JavaScript很酷。

答案 3 :(得分:0)

你可以做到这一点:

var o = [[1,2,3],[4,5,6]];

此外,您可以使用javascript中的对象是字典:

var o;
o["0"] = {'0':1, '1':2, '1':3};
var x = o["0"]["1"]; //returns 2

答案 4 :(得分:0)

您可以在JS中静态创建数组:

var arr = [
   [1, 2, 3, 4], 
   [8, 6, 7, 8]
];

请注意,由于这不是真正的“多维数组”,只是“数组数组”,“内部数组”不必具有相同的长度,甚至不必是相同的类型。像这样:

var arr = [
   [1, 2, 3, 4], 
   ["a", "b"]
];