如何在 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+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.