Trong TypeScript, Map
là một kiểu dữ liệu cho phép lưu trữ cặp khóa-giá trị, rất hữu ích cho việc quản lý dữ liệu. Với cấu trúc dữ liệu này, bạn có thể truy cập, thêm hoặc xóa các phần tử theo khóa một cách nhanh chóng và hiệu quả. Bài viết này sẽ giải thích khái niệm về Map
, cách sử dụng nó, và những lợi ích mà nó mang lại trong lập trình TypeScript.
Map
là một đối tượng trong JavaScript và TypeScript dùng để lưu trữ dữ liệu dưới dạng cặp khóa-giá trị. Các khóa trong Map
có thể là bất kỳ loại dữ liệu nào (bao gồm cả đối tượng), trong khi giá trị cũng có thể là bất kỳ loại nào.
Để tạo một Map
, bạn sử dụng cú pháp sau:
const myMap = new Map<string, number>();
Trong ví dụ trên, myMap
là một Map
mà các khóa là kiểu string
và các giá trị là kiểu number
.
Để thêm một cặp khóa-giá trị vào Map
, bạn sử dụng phương thức set()
:
myMap.set('apple', 1); myMap.set('banana', 2);
Bạn có thể lấy giá trị từ Map
bằng cách sử dụng phương thức get()
với khóa tương ứng:
const appleCount = myMap.get('apple'); // appleCount sẽ là 1 console.log(appleCount); // 1
Để kiểm tra xem một khóa có tồn tại trong Map
hay không, sử dụng phương thức has()
:
const hasBanana = myMap.has('banana'); // true console.log(hasBanana); // true
Để xóa một cặp khóa-giá trị, bạn sử dụng phương thức delete()
:
myMap.delete('banana');
Bạn có thể sử dụng vòng lặp for...of
để duyệt qua các cặp khóa-giá trị trong Map
:
for (const [key, value] of myMap) { console.log(`${key}: ${value}`); } // Kết quả: // apple: 1
Để biết số lượng cặp khóa-giá trị trong Map
, bạn có thể sử dụng thuộc tính size
:
console.log(myMap.size); // 1 (sau khi xóa 'banana')
Để xóa tất cả các phần tử trong Map
, bạn có thể sử dụng phương thức clear()
:
myMap.clear(); console.log(myMap.size); // 0
Map
(như set
, get
, delete
) có độ phức tạp trung bình là O(1), giúp truy cập và quản lý dữ liệu nhanh chóng.Map
cho phép bạn sử dụng bất kỳ kiểu dữ liệu nào làm khóa.Map
giữ nguyên thứ tự mà các phần tử được thêm vào, điều này rất hữu ích khi bạn cần duyệt qua các cặp khóa-giá trị theo thứ tự.Map
rất trực quan và dễ sử dụng, giúp tăng hiệu suất lập trình.Tệp Map
trong TypeScript là một cấu trúc dữ liệu mạnh mẽ và linh hoạt, cho phép bạn quản lý cặp khóa-giá trị một cách hiệu quả. Với khả năng hỗ trợ nhiều kiểu dữ liệu cho khóa và giá trị, cùng với hiệu suất truy cập nhanh, Map
trở thành một lựa chọn lý tưởng cho các tình huống cần lưu trữ và quản lý dữ liệu phức tạp. Bằng cách sử dụng Map
, bạn có thể viết mã rõ ràng, dễ hiểu và bảo trì dễ dàng hơn trong dự án TypeScript của mình.