TYPESCRIPT 2.X CĂN BẢN
Hàm trong TypeScript Sử dụng hàm generics Sử dụng hàm generics trong TypeScript Sử dụng Array trong TypeScript Sử dụng Tuple trong TypeScript Sử dụng kiểu Array, Tuple, Enum trong TypeScript Interface trong Typescript Hybrid Types với Interface trong TypeScript Khác biệt khi sử dụng 'type' và 'interface' trong TypeScript Cách dùng Enum trong TypeScript Types và interface trong TypeScript Class trong TypeScript Sử dụng Abstract Classes trong TypeScript Sử dụng Interface trong Typescript (phần 2) Sử dụng Casting trong TypeScript Tìm hiểu về Generics trong TypeScript Tìm hiểu về utility types trong Typescript Utility types phổ biến trong Typescript Sử dụng default parameters trong TypeScript Modules trong TypeScript Rest Parameters trong TypeScript Sử dụng Function Overloadings trong TypeScript Sử dụng Type Assertions trong TypeScript Sử dụng Static Methods và Properties trong TypeScript. Sử dụng Access Modifiers trong TypeScript 10 mẹo và thủ thuật hay nhất trong TypeScript 5 Cách giúp bạn loại bỏ "any" trong TypeScript Mapped Types trong TypeScript Dependency Injection trong Typescript 5 ký hiệu khó hiểu cần biết trong TypeScript Cách sử dụng @ts-expect-error trong Typescript Declaration Merging trong TypeScript Tìm hiểu Branded Type trong TypeScript Namespaces trong Typescript Phân biệt Modules và Namespaces trong TypeScript Triple-Slash Directives trong TypeScript là gì? Phần 1: Biến trong TypeScript Phần 2: Biến trong TypeScript Property trong TypeScript Phân tích JSON trong TypeScript Bài tập TypeScript: Các dạng bài tập cơ bản Bài tập TypeScript: Lập trình Hướng đối tượng trong TypeScript Bài tập TypeScript: Kiểu Generic Types trong Typescript Bài tập TypeScript: Các kiểu dữ liệu mảng và tuple. Bài tập TypeScript: Classes và Inheritance trong Typescript Bài 01: TypeScript là gì? TypeScript và Javascript Bài 02: Cài đặt TypeScript Bài 03: TypeScript Basic Types Bài 04: Khai báo biến trong TypeScript Bài 05: Lệnh If Else và Switch Case trong TypeScript Bài 06: Vòng lặp trong TypeScript
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Viết một lớp Dictionary/Map sử dụng Generic Type để lưu trữ cặp key-value trong TypeScript.

Việc tạo lớp Dictionary/Map sử dụng Generic Type cho phép lưu trữ cặp key-value với key và value có thể là bất kỳ kiểu dữ liệu nào. Mình sẽ xây dựng một lớp Dictionary sử dụng kiểu generic để thực hiện việc này.

Lưu ý: Lớp Dictionary sẽ cung cấp khả năng lưu trữ dữ liệu theo cặp key-value linh hoạt và đa dạng.

Tạo lớp Dictionary sử dụng Generic Type

Bắt đầu bằng việc định nghĩa lớp Dictionary với sử dụng kiểu generic để lưu trữ cặp key-value.

class Dictionary<K, V> {
  private items: { key: K; value: V }[] = [];

  set(key: K, value: V): void {
    this.items.push({ key, value });
  }

  get(key: K): V | undefined {
    const foundItem = this.items.find(item => item.key === key);
    return foundItem ? foundItem.value : undefined;
  }
}

Sử dụng lớp Dictionary với các kiểu dữ liệu khác nhau

Mình có thể sử dụng lớp Dictionary với các kiểu dữ liệu khác nhau cho key và value.

const numberDictionary = new Dictionary<number, string>();
numberDictionary.set(1, "One");
numberDictionary.set(2, "Two");
console.log(numberDictionary.get(1)); // Kết quả: One

const stringDictionary = new Dictionary<string, boolean>();
stringDictionary.set("isDone", true);
stringDictionary.set("isWorking", false);
console.log(stringDictionary.get("isWorking")); // Kết quả: false

Lớp Dictionary đã được xây dựng với khả năng lưu trữ cặp key-value dựa trên kiểu generic. Khi sử dụng với các kiểu dữ liệu khác nhau, nó cho phép mình lưu và truy xuất dữ liệu một cách linh hoạt. Phương thức set được sử dụng để thêm một cặp key-value vào Dictionary, trong khi get được sử dụng để lấy value dựa trên key cho trước.

Kết quả khi chạy mã lệnh sẽ hiển thị giá trị tương ứng với key đã truyền vào hàm get từ Dictionary.

Việc sử dụng kiểu generic trong lớp Dictionary/Map là một cách mạnh mẽ để làm việc với cặp key-value với độ linh hoạt cao. Không chỉ cho phép lưu trữ dữ liệu theo cặp key-value với bất kỳ kiểu dữ liệu nào, mà còn giúp tái sử dụng mã lệnh một cách hiệu quả.

Khi xây dựng một lớp Dictionary dựa trên generic type, mình mở rộng khả năng sử dụng cũng như tính linh hoạt của mã nguồn. Việc sử dụng lớp này với các kiểu dữ liệu khác nhau như số, chuỗi, boolean, hoặc thậm chí là đối tượng, đều cho phép lưu trữ và truy xuất dữ liệu một cách dễ dàng và linh hoạt.

Tính linh hoạt của kiểu generic trong TypeScript không chỉ giúp việc xây dựng các cấu trúc dữ liệu mà còn mở ra khả năng tận dụng lại mã nguồn trong nhiều tình huống khác nhau, giúp tăng tính tái sử dụng và giảm thiểu việc viết lại mã lệnh. Điều này đồng nghĩa với việc tiết kiệm thời gian và nỗ lực trong quá trình phát triển ứng dụng TypeScript.

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Bài tập TypeScript: Classes và Inheritance trong Typescript

Bài tập TypeScript: Classes và Inheritance trong Typescript

Bài tập TypeScript: Các kiểu dữ liệu mảng và tuple.

Bài tập TypeScript: Các kiểu dữ liệu mảng và tuple.

Bài tập TypeScript: Lập trình Hướng đối tượng trong TypeScript

Bài tập TypeScript: Lập trình Hướng đối tượng trong TypeScript

Bài tập TypeScript: Các dạng bài tập cơ bản

Bài tập TypeScript: Các dạng bài tập cơ bản

Phân tích JSON trong TypeScript

Phân tích JSON trong TypeScript

Property trong TypeScript

Property trong TypeScript

Phần 2: Biến trong TypeScript

Phần 2: Biến trong TypeScript

Phần 1: Biến trong TypeScript

Phần 1: Biến trong TypeScript

Triple-Slash Directives trong TypeScript là gì?

Triple-Slash Directives trong TypeScript là gì?

Phân biệt Modules và Namespaces trong TypeScript

Phân biệt Modules và Namespaces trong TypeScript

Tìm hiểu Branded Type trong TypeScript

Tìm hiểu Branded Type trong TypeScript

Namespaces trong Typescript

Namespaces trong Typescript

Declaration Merging trong TypeScript

Declaration Merging trong TypeScript

Cách sử dụng @ts-expect-error trong typescript

Cách sử dụng @ts-expect-error trong typescript

5 ký hiệu khó hiểu cần biết trong TypeScript

5 ký hiệu khó hiểu cần biết trong TypeScript

Dependency Injection trong Typescript

Dependency Injection trong Typescript

Mapped Types trong TypeScript

Mapped Types trong TypeScript

5 Cách giúp bạn loại bỏ

5 Cách giúp bạn loại bỏ "any" trong TypeScript

10 mẹo và thủ thuật hay nhất trong TypeScript

10 mẹo và thủ thuật hay nhất trong TypeScript

Sử dụng Access Modifiers trong TypeScript

Sử dụng Access Modifiers trong TypeScript

Top