Tạo một hàm generic nhận vào một mảng và một hàm predicate trong TypeScript.
Việc tạo một hàm filter
generic là một cách linh hoạt để lọc các phần tử trong mảng dựa trên một điều kiện cụ thể. Mình sẽ xây dựng một hàm filter generic nhận vào một mảng và một hàm predicate để trả về một mảng mới chỉ chứa các phần tử thỏa mãn điều kiện trong hàm predicate.
Lưu ý: Hàm filter
generic là một công cụ mạnh mẽ trong việc xử lý mảng, cho phép lọc ra các phần tử dựa trên một điều kiện được xác định.
Tạo hàm Filter Generic
Bắt đầu bằng việc định nghĩa hàm filter generic nhận vào một mảng và một hàm predicate.
function filter<T>(arr: T[], predicate: (element: T) => boolean): T[] { const filteredArray: T[] = []; for (const element of arr) { if (predicate(element)) { filteredArray.push(element); } } return filteredArray; }
Sử dụng hàm Filter với một mảng và một hàm Predicate
Mình có thể sử dụng hàm filter
với một mảng và một hàm predicate để lọc ra các phần tử thỏa mãn điều kiện.
const numbers = [1, 2, 3, 4, 5]; // Lọc ra các số chẵn const evenNumbers = filter(numbers, (num) => num % 2 === 0); console.log(evenNumbers); // Kết quả: [2, 4] const words = ["apple", "banana", "orange"]; // Lọc ra các từ có độ dài lớn hơn 5 const longWords = filter(words, (word) => word.length > 5); console.log(longWords); // Kết quả: ["banana", "orange"]
Hàm filter generic này lấy một mảng và một hàm predicate làm đối số. Trong mỗi lần lặp qua mảng, nó kiểm tra điều kiện từ hàm predicate và thêm các phần tử thỏa mãn điều kiện đó vào mảng kết quả.
Kết quả khi chạy mã lệnh sẽ là mảng mới chỉ chứa các phần tử thỏa mãn điều kiện được xác định trong hàm predicate.
Hàm filter
generic trong TypeScript cung cấp một cách linh hoạt và tiện lợi để lọc các phần tử trong mảng dựa trên các điều kiện động. Việc sử dụng hàm này giúp giảm thiểu việc viết mã lặp lại và tăng tính tái sử dụng trong quá trình xử lý mảng.
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.