我过去在Microsoft Small Basic中编程过,它可以有这样的数组:
Array[1][1] = "Hello"
Array[1][2] = "Hi"
Array[1][2] = "Hey"
现在,在 Javascript 中,我知道如何创建单个数组 ( var Array = New Array()
),但是有没有像上面那样的数组类型?
我过去在Microsoft Small Basic中编程过,它可以有这样的数组:
Array[1][1] = "Hello"
Array[1][2] = "Hi"
Array[1][2] = "Hey"
现在,在 Javascript 中,我知道如何创建单个数组 ( var Array = New Array()
),但是有没有像上面那样的数组类型?
JavaScript 中没有真正的多维数组。但是您可以像您所做的那样创建一个数组数组。
JavaScript 的数组只是具有特殊length
属性和不同原型链的对象。
是的,您需要创建一个array
of 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.
最简单的方法是只声明一个数组,然后用一堆其他数组初始化它。例如:
var mArray = [
[1,2,3],
[4,5,6]
];
window.alert(mArray[1][1]); //Displays 5
正如其他人所指出的,这 实际上并不是标准意义上的多维数组。它只是一个恰好包含其他数组的数组。您可以轻松地拥有一个包含 3 个其他数组、一个 int、一个字符串、一个函数和一个对象的数组。JavaScript 就是这么酷。
你可以做到这一点:
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
您可以像这样在 JS 中静态创建数组:
var arr = [
[1, 2, 3, 4],
[8, 6, 7, 8]
];
请注意,由于这不是一个真正的“多维数组”,只是一个“数组数组”,“内部数组”不必是相同的长度,甚至是相同的类型。像这样:
var arr = [
[1, 2, 3, 4],
["a", "b"]
];