多维数组 (Jscript)
更新:2007 年 11 月
可以在 JScript 中创建多维类型化数组。多维数组使用多个索引来访问数据。当脚本声明数组时,它设定每个索引的范围。多维数组与嵌套的数组类似,但嵌套的数组中每个子数组可以具有不同的长度。有关更多信息,请参见嵌套数组。
讨论
一维数组的数据类型由后面带一对方括号 ([]) 的数据类型名称指定。用同一方法也可以指定多维数组的数据类型,但要在括号内使用逗号 (,)。数组的维数等于逗号的个数加 1。下面的示例阐释了定义一维数组和多维数组之间的区别。
// Define a one-dimensional array of integers. No commas are used.
var oneDim : int[];
// Define a three-dimensional array of integers.
// Two commas are used to produce a three dimensional array.
var threeDim : int[,,];
在下面的示例中,使用二维字符数组来存储 Tic-Tac-Toe(“零和叉”棋盘游戏)棋盘的状态。
// Declare a variable to store two-dimensional game board.
var gameboard : char[,];
// Create a three-by-three array.
gameboard = new char[3,3];
// Initialize the board.
for(var i=0; i<3; i++)
for(var j=0; j<3; j++)
gameboard[i,j] = " ";
// Simulate a game. 'X' goes first.
gameboard[1,1] = "X"; // center
gameboard[0,0] = "O"; // upper-left
gameboard[1,0] = "X"; // center-left
gameboard[2,2] = "O"; // lower-right
gameboard[1,2] = "X"; // center-right, 'X" wins!
// Display the board.
var str : String;
for(var i=0; i<3; i++) {
str = "";
for(var j=0; j<3; j++) {
if(j!=0) str += "|";
str += gameboard[i,j];
}
if(i!=0)
print("-+-+-");
print(str);
}
该程序的输出为:
O| |
-+-+-
X|X|X
-+-+-
| |O
可以使用类型为 Object 的多维类型化数组来存储任何类型的数据。