Làm việc với Mảng và Tuple TypeScript

TypeScript mở rộng JavaScript với các tính năng kiểu bổ sung, giúp làm việc dễ dàng hơn với các cấu trúc dữ liệu phức tạp như mảng và bộ. Hướng dẫn này sẽ giới thiệu cho bạn về mảng và bộ trong TypeScript, bao gồm cách định nghĩa, thao tác và sử dụng chúng hiệu quả.

Mảng TypeScript

Mảng trong TypeScript tương tự như mảng trong JavaScript nhưng có thêm lợi ích là chú thích kiểu. Điều này đảm bảo rằng tất cả các phần tử trong mảng tuân theo một kiểu cụ thể.

Định nghĩa Mảng

Để định nghĩa một mảng trong TypeScript, bạn chỉ định kiểu của các phần tử theo sau là []:

let numbers: number[] = [1, 2, 3, 4, 5];
let names: string[] = ["Alice", "Bob", "Charlie"];

Trong ví dụ này, numbers là một mảng numbernames là một mảng string.

Phương pháp mảng

Mảng TypeScript hỗ trợ nhiều phương pháp tương tự như mảng JavaScript. Sau đây là một số phương pháp phổ biến:

  • push(): Thêm một phần tử vào cuối mảng.
  • pop(): Xóa phần tử cuối cùng của mảng.
  • shift(): Xóa phần tử đầu tiên của mảng.
  • unshift(): Thêm một phần tử vào đầu mảng.
  • map(): Tạo một mảng mới bằng cách áp dụng một hàm cho mỗi phần tử.

Ví dụ về mảng

let numbers: number[] = [1, 2, 3, 4, 5];
numbers.push(6); // [1, 2, 3, 4, 5, 6]
let doubled = numbers.map(n => n * 2); // [2, 4, 6, 8, 10, 12]

Bộ TypeScript

Tuple là một kiểu mảng đặc biệt trong TypeScript, trong đó mỗi phần tử có thể có một kiểu khác nhau. Tuple hữu ích khi bạn cần làm việc với một số lượng phần tử cố định có nhiều kiểu khác nhau.

Định nghĩa Tuple

Để định nghĩa một tuple, hãy sử dụng dấu ngoặc vuông [] với các kiểu được chỉ định cho từng phần tử:

let person: [string, number] = ["Alice", 30];

Trong ví dụ này, person là một bộ trong đó phần tử đầu tiên là string và phần tử thứ hai là number.

Truy cập các phần tử Tuple

Truy cập các phần tử tuple bằng cách sử dụng chỉ mục của chúng, tương tự như mảng:

let person: [string, number] = ["Alice", 30];
let name = person[0]; // "Alice"
let age = person[1]; // 30

Tuple với các phần tử tùy chọn

Tuple cũng có thể bao gồm các phần tử tùy chọn:

let person: [string, number?] = ["Alice"];
let personWithAge: [string, number?] = ["Bob", 30];

Trong ví dụ này, phần tử thứ hai trong bộ là tùy chọn.

Phần kết luận

Mảng và bộ dữ liệu TypeScript cung cấp những cách mạnh mẽ để xử lý các bộ sưu tập dữ liệu với tính an toàn kiểu mạnh. Bằng cách hiểu cách định nghĩa, thao tác và sử dụng mảng và bộ dữ liệu, bạn có thể viết mã mạnh mẽ và dễ bảo trì hơn. Sử dụng mảng cho danh sách dữ liệu đồng nhất và bộ dữ liệu cho các bộ sưu tập có kích thước cố định với dữ liệu không đồng nhất.