如何在 TypeScript 中创建二维数组?

typescriptserver side programmingprogramming

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


相关文章