Hàm Reduce trên mảng với một hàm accumulator trong TypeScript.
Trong bài tập này, mình sẽ cùng nhau tìm hiểu về cách sử dụng hàm reduce()
trên mảng trong TypeScript. Mình sẽ tìm hiểu về cách viết hàm accumulator
để thực hiện các phép tính tổng hợp như tính tổng, tích, tìm giá trị lớn nhất, nhỏ nhất hoặc thực hiện các biến đổi phức tạp hơn trên các phần tử trong mảng.
Viết hàm Reduce
Hàm Reduce:
- Tạo một hàm reduceArray nhận vào một mảng và một hàm
accumulator
. - Sử dụng TypeScript generics để đảm bảo linh hoạt trong việc truyền các kiểu dữ liệu.
- Sử dụng phép reduce trên mảng với hàm
accumulator
để trả về một giá trị duy nhất.
Sử dụng Hàm Reduce
Tạo mảng và Hàm Accumulator:
- Tạo một mảng với các giá trị tùy ý, ví dụ: numbers = [1, 2, 3, 4, 5].
- Viết một hàm accumulator đơn giản, ví dụ: function sum(a: number, b: number) { return a + b; }.
Sử dụng Hàm reduceArray:
- Gọi hàm reduceArray với mảng và hàm accumulator đã tạo.
- In ra kết quả để xem giá trị duy nhất được tính toán từ mảng ban đầu.
function reduceArray<T>(arr: T[], accumulator: (prev: T, current: T) => T): T { return arr.reduce(accumulator); } const numbers = [1, 2, 3, 4, 5]; function sum(a: number, b: number) { return a + b; } const sumOfNumbers = reduceArray(numbers, sum); console.log(sumOfNumbers); // Kết quả: 15 (1 + 2 + 3 + 4 + 5)
reduceArray Function:
- Hàm này nhận một mảng và một hàm accumulator.
- Sử dụng phương thức reduce của mảng để tính toán giá trị duy nhất dựa trên hàm accumulator và trả về kết quả.
Sử dụng Hàm reduceArray:
- Tạo một mảng
numbers
. - Tạo hàm sum để tính tổng các phần tử trong mảng.
- Gọi hàm
reduceArray
với mảngnumbers
và hàm sum. - Kết quả được in ra là tổng của các số trong mảng ban đầu.
Phép reduce trên mảng là một công cụ mạnh mẽ để tính toán một giá trị duy nhất từ các phần tử trong mảng. Việc sử dụng generics và phương thức reduce giúp tạo ra một hàm linh hoạt có thể thực hiện nhiều phép tính khác nhau trên mảng. 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.