如何在 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 中存储和操作数据网格的有用数据结构。