如何在 TypeScript 中创建二维数组?
TypeScript 中的二维数组是数组的数组或矩阵,可用于表示数据表、棋盘或任何其他类型的网格。
二维数组在处理数据网格(例如表格或棋盘)时很有用。它们允许您以结构化的方式存储和操作数据,并使用一对索引访问元素。
创建二维数组
要在 TypeScript 中创建二维数组,用户可以使用具有所需维度的数组文字,如下所示 -
语法
用户可以按照以下语法使用 Typescript 创建二维数组。
let array_name:datatype[ ][ ] = [ [value1,value2,value3], [val1,val2,val3] ]; let element = array_name[row][col];
在上述语法中,我们创建了名为 array_name 的二维数组。datatype 表示二维数组的数据类型,values1、value2 等表示数组的值。此外,用户还可以看到如何使用行和列从 2D 数组访问值。
示例 1
在下面的示例中,我们创建了二维字符串数组。之后,我们使用 for 循环通过迭代来初始化数组。用户可以看到我们正在使用 ASCII 值来初始化数组。
在输出中,用户可以观察 2D 数组是如何初始化的。此外,用户可以使用行和列索引从特定位置访问数组元素。
let rows: number = 3;
let cols: number = 3;
let arr: string[][] = [];
for (let i = 0; i < rows; i++) {
arr[i] = [];
for (let j = 0; j < cols; j++) {
arr[i][j] = String.fromCharCode(65 + i) + (j + 1);
}
}
console.log(arr);
编译后,它将生成以下 JavaScript 代码 -
var rows = 3;
var cols = 3;
var arr = [];
for (var i = 0; i < rows; i++) {
arr[i] = [];
for (var j = 0; j < cols; j++) {
arr[i][j] = String.fromCharCode(65 + i) + (j + 1);
}
}
console.log(arr);
输出
上述代码将产生以下输出 -
[ [ 'A1', 'A2', 'A3' ], [ 'B1', 'B2', 'B3' ], [ 'C1', 'C2', 'C3' ] ]
示例 2
在此示例中,我们创建了一个名为"getCarMatrix"的函数,该函数返回一个二维汽车数组。我们使用类型"Car",该类型具有汽车的品牌、型号和年份等属性。
我们用两组汽车初始化"carMatrix"变量。第一组有两辆汽车,一辆丰田凯美瑞和一辆福特嘉年华,第二组有两辆汽车,一辆本田思域和一辆雪佛兰迈锐宝。我们从函数中返回这个"carMatrix"并将其记录在控制台上。
// 这定义了一个具有三个属性的类型"Car":品牌、型号和年份
type Car = {
make: string;
model: string;
year: number;
};
// 返回二维汽车数组的函数
function getCarMatrix(): Car[][] {
// 用两组汽车初始化汽车矩阵
const carMatrix: Car[][] = [
[
{ make: 'Toyota', model: 'Camry', year: 2020 },
{ make: 'Ford', model: 'Fiesta', year: 2022 }
],[
{ make: 'Honda', model: 'Civic', year: 2019 },
{ make: 'Chevy', model: 'Malibu', year: 2021 }
]
];
return carMatrix;
}
console.log(getCarMatrix());
编译后,它将生成以下 JavaScript 代码 -
// 返回二维汽车数组的函数
function getCarMatrix() {
// 使用两组汽车初始化汽车矩阵
var carMatrix = [
[
{ make: 'Toyota', model: 'Camry', year: 2020 },
{ make: 'Ford', model: 'Fiesta', year: 2022 }
],[
{ make: 'Honda', model: 'Civic', year: 2019 },
{ make: 'Chevy', model: 'Malibu', year: 2021 }
]
];
return carMatrix;
}
console.log(getCarMatrix());
输出
上述代码将产生以下输出 -
[ [ { make: 'Toyota', model: 'Camry', year: 2020 },
{ make: 'Ford', model: 'Fiesta', year: 2022 } ],
[ { make: 'Honda', model: 'Civic', year: 2019 },
{ make: 'Chevy', model: 'Malibu', year: 2021 } ] ]
您还可以使用二维数组来表示棋盘,其中每个数组元素代表棋盘上的一个方格,其值表示占据该方格的棋子。然后,您可以使用该数组检查合法的走法、检查将军或在棋盘上执行其他操作。
总体而言,二维数组是用于在 TypeScript 中存储和操作数据网格的有用数据结构。

