Lọc phần tử theo điều kiện từ một mảng trong TypeScript
Trong bài tập này, mình sẽ tìm hiểu cách sử dụng TypeScript để lọc các phần tử từ một mảng dựa trên điều kiện cho trước. Mình sẽ tìm hiểu về cách sử dụng các phương thức như filter()
để tạo điều kiện lọc, giúp mình tạo ra các mảng mới chỉ chứa các phần tử thỏa mãn điều kiện đã đặt ra.
Tạo hàm lọc phần tử
Hàm Filter:
- Tạo một hàm
filterArray
nhận vào một mảng và một hàm predicate. - Sử dụng TypeScript
generics
để đảm bảo linh hoạt trong việc truyền các kiểu dữ liệu. - 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.
Sử dụng hàm lọc phần tử
Tạo Mảng và Hàm Predicate:
-
Tạo một mảng các phần tử có kiểu dữ liệu mong muốn, ví dụ:
numbers = [1, 2, 3, 4, 5].
-
Viết một hàm
predicate
đơn giản, ví dụ:function isEven(num: number) { return num % 2 === 0; }.
Sử dụng Hàm filterArray:
- Gọi hàm filterArray với mảng và hàm predicate đã tạo.
- In ra kết quả để xem các phần tử được lọc từ mảng ban đầu dựa trên điều kiện.
function filterArray<T>(arr: T[], predicate: (item: T) => boolean): T[] { return arr.filter(predicate); } const numbers = [1, 2, 3, 4, 5]; function isEven(num: number) { return num % 2 === 0; } const evenNumbers = filterArray(numbers, isEven); console.log(evenNumbers); // In ra mảng chứa các số chẵn từ mảng ban đầu
filterArray Function:
- Hàm này nhận một mảng và một hàm predicate.
- Sử dụng phương thức filter của mảng để lọc các phần tử theo điều kiện của hàm predicate và trả về mảng mới.
Sử dụng hàm filterArray:
- Tạo một mảng
numbers
. - Tạo hàm
isEven
để kiểm tra số chẵn. - Gọi hàm
filterArray
với mảngnumbers
và hàmisEven
. - Kết quả được in ra là một mảng chứa các số chẵn từ mảng ban đầu.
Việc sử dụng generics
và hàm filter giúp tạo ra một hàm linh hoạt có thể lọc các phần tử từ một mảng dựa trên điều kiện cung cấp. Hãy thử nghiệm và mở rộng chức năng của hàm này để hiểu rõ hơn về cách TypeScript xử lý kiểu dữ liệu mảng và generics.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Lọc phần tử theo điều kiện từ một mảng trong TypeScript
- Biến đổi mảng với hàm Transform trong TypeScript
- Hàm Reduce trên mảng với một hàm accumulator trong TypeScript.
- Gộp hai mảng trong TypeScript
- Viết một hàm nhận vào một mảng và trả về một mảng mới chỉ chứa các phần tử duy nhất trong TypeScript.
- Tạo một hàm nhận vào một tuple và sử dụng rest parameters trong TypeScript
- Viết một hàm nhận vào một tuple và một mảng, trả về một tuple mới chứa các phần tử của tuple cũ trong TypeScript
- Tạo một tuple chứa các key của một object và một tuple chứa các giá trị tương ứng trong TypeScript
- Viết một hàm nhận vào một tuple và sử dụng destructuring để trích xuất các phần tử từ tuple trong TypeScript.