Tạo một hàm generic nhận vào một mảng và trả về phần tử cuối cùng của mảng trong TypeScript.
Trong bài này, hàm generic cho phép mình xây dựng các hàm linh hoạt có thể hoạt động với nhiều kiểu dữ liệu khác nhau.Mình sẽ tạo một hàm generic nhận vào một mảng và trả về phần tử cuối cùng của mảng. Điều này cho phép người học thử nghiệm với các loại dữ liệu khác nhau.
Lưu ý: Hàm generic là một công cụ mạnh mẽ trong TypeScript để tạo các hàm có thể tái sử dụng với nhiều kiểu dữ liệu khác nhau.
Tạo Hàm Generic để trả về phần tử cuối cùng của mảng
Bắt đầu với việc xây dựng hàm generic getLastElement
, nhận vào một mảng và trả về phần tử cuối cùng của mảng.
function getLastElement<T>(arr: T[]): T | undefined { if (arr.length === 0) { return undefined; } return arr[arr.length - 1]; }
Sử dụng hàm với các loại dữ liệu khác nhau
Mình có thể thử nghiệm hàm getLastElement
với các loại dữ liệu khác nhau như số, chuỗi, và đối tượng.
const numbers = [1, 2, 3, 4, 5]; console.log(getLastElement(numbers)); // Kết quả: 5 const strings = ["apple", "banana", "orange"]; console.log(getLastElement(strings)); // Kết quả: orange const objects = [{ name: "Alice" }, { name: "Bob" }, { name: "Charlie" }]; console.log(getLastElement(objects));
Trong hàm getLastElement
, mình đã sử dụng kiểu generic T
để cho phép hàm này làm việc với mọi kiểu dữ liệu. Khi mình gọi hàm với các mảng khác nhau, nó trả về phần tử cuối cùng của mảng đó.
Kết quả khi chạy mã lệnh sẽ hiển thị phần tử cuối cùng của mỗi mảng đã được truyền vào hàm getLastElement
.
Kết quả: { name: "Charlie" }
Như vậy, hàm generic trong TypeScript là một công cụ mạnh mẽ cho phép mình tạo các hàm linh hoạt có thể làm việc với nhiều loại dữ liệu khác nhau. Việc tạo một hàm như getLastElement
cho phép người lập trình truyền vào các loại dữ liệu khác nhau và nhận được phần tử cuối cùng của mảng một cách dễ dàng. Bằng cách sử dụng kiểu generic, mình có thể tái sử dụng hàm này cho mọi loại dữ liệu mà không cần phải viết lại code. Điều này làm tăng tính linh hoạt và tái sử dụng trong quá trình phát triển ứng dụng TypeScript.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Viết một lớp Stack và Queue sử dụng Generic Type.
- Tạo một hàm generic nhận vào một mảng và trả về phần tử cuối cùng của mảng trong TypeScript.
- Viết một lớp Dictionary/Map sử dụng Generic Type để lưu trữ cặp key-value trong TypeScript.
- Tạo một hàm generic nhận vào một mảng và một hàm predicate trong TypeScript.
- Hàm Generic với Keyof trong Typescript
- Tạo một hàm generic nhận vào hai đối tượng và trả về một đối tượng mới trong TypeScript.