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


TypeScript 中的二维数组是数组的数组,或矩阵,可用于表示数据表、棋盘或任何其他类型的网格。

在处理数据网格(如表格或棋盘)时,二维数组非常有用。它们允许您以结构化的方式存储和操作数据,并使用一对索引访问元素。

创建二维数组

要在 TypeScript 中创建二维数组,用户可以使用具有所需维度的数组字面量,如下所示:

语法

用户可以按照以下语法使用 Typescript 创建二维数组。

let array_name:datatype[ ][ ] = [ [value1,value2,value3], [val1,val2,val3] ]; 
let element = array_name[row][col];

在上面的语法中,我们创建了一个名为 array_name 的二维数组。数据类型表示二维数组的数据类型,值1、值2 等表示数组的值。此外,用户可以看到我们如何使用行和列来访问二维数组中的值。

示例 1

在下面的示例中,我们创建了字符串的二维数组。之后,我们使用 for 循环通过迭代来初始化数组。用户可以看到我们正在使用 ASCII 值来初始化数组。

在输出中,用户可以观察二维数组是如何初始化的。此外,用户可以使用行和列索引从特定位置访问数组元素。

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”并在控制台上记录它。

// This defines a type "Car" with three properties: make, model, and year
type Car = {
   make: string;
   model: string;
   year: number;
};

// function to return a two-dimensional array of cars
function getCarMatrix(): Car[][] {
   // Initialize the car matrix with two sets of cars
   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 to return a two-dimensional array of cars
function getCarMatrix() {

   // Initialize the car matrix with two sets of cars
   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 中存储和操作数据网格的有用数据结构。

更新于: 2023年1月20日

10K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告