我一直在网上阅读,一些地方说这是不可能的,一些地方说这是可能的,然后给出一个例子,另一些地方反驳这个例子,等等。
如何在JavaScript中声明一个2维数组?(假设这是可能的) 我如何访问它的成员?(myArray[0][1] or myArray[0,1]?)
我一直在网上阅读,一些地方说这是不可能的,一些地方说这是可能的,然后给出一个例子,另一些地方反驳这个例子,等等。
如何在JavaScript中声明一个2维数组?(假设这是可能的) 我如何访问它的成员?(myArray[0][1] or myArray[0,1]?)
当前回答
你也可以创建一个函数来创建一个2D数组,就像这样:
var myTable = [];
function createArray(myLength) {
myTable = new Array(myLength);
var cols, rows;
for (cols = 0; cols < myLength; cols++) {
myTable[cols] = new Array(myLength);
}
}
您可以使用以下命令调用它,这将为您提供一个10x10的2D数组。
createArray(10);
您还可以使用此方法创建3D数组。
其他回答
Array(m).fill(v).map(() => Array(n).fill(v))
你可以创建一个二维数组m x n,初始值m, n可以是任何数字v可以是任何值字符串,数字,未定义。
一种方法是var a = [m][n]
Javascript不支持二维数组,相反,我们将一个数组存储在另一个数组中,并根据您想访问的数组的位置从该数组中获取数据。记住数组编号从0开始。
代码示例:
/* Two dimensional array that's 5 x 5
C0 C1 C2 C3 C4
R0[1][1][1][1][1]
R1[1][1][1][1][1]
R2[1][1][1][1][1]
R3[1][1][1][1][1]
R4[1][1][1][1][1]
*/
var row0 = [1,1,1,1,1],
row1 = [1,1,1,1,1],
row2 = [1,1,1,1,1],
row3 = [1,1,1,1,1],
row4 = [1,1,1,1,1];
var table = [row0,row1,row2,row3,row4];
console.log(table[0][0]); // Get the first item in the array
const arr = new Array(5).fill(new Array(5).fill(0));
console.log(arr);
二维数组的创建方式与一维数组相同。你像数组[0][1]一样访问它们。
var arr = [1, 2, [3, 4], 5];
alert (arr[2][1]); //alerts "4"
var items = [
["January 01", 42.5],
["February 01", 44.3],
["March 01", 28.7],
["April 01", 44.3],
["May 01", 22.9],
["June 01", 54.4],
["July 01", 69.3],
["August 01", 19.1],
["September 01", 82.5],
["October 01", 53.2],
["November 01", 75.9],
["December 01", 58.7]
];
alert(items[1][0]); // February 01
alert(items[5][1]); // 54.4