Bây giờ là Bài 25 – Hàm reduce() trong JavaScript, một công cụ mạnh mẽ giúp bạn tính tổng, gộp giá trị, hoặc chuyển đổi một mảng thành một giá trị duy nhất.
1. reduce() là gì?
Là một hàm của mảng dùng để tính toán tổng hợp (reduce) mảng thành một giá trị: số, chuỗi, object, hoặc mảng khác.
2. Cú pháp cơ bản
array.reduce(function (tổng, phần_tử_hiện_tại) {
return giá_trị_mới
}, giá_trị_khởi_đầu)
3. Tính tổng mảng số
let numbers = [1, 2, 3, 4]
let total = numbers.reduce((sum, current) => sum + current, 0)
console.log(total) // 10
4. Tính tích các phần tử
let result = [2, 3, 4].reduce((acc, val) => acc * val, 1)
console.log(result) // 24
5. Tính tổng giá sản phẩm
let cart = [
{ name: "Sữa", price: 10000 },
{ name: "Bánh", price: 5000 },
{ name: "Cơm", price: 15000 }
]
let total = cart.reduce((sum, item) => sum + item.price, 0)
console.log(total) // 30000
6. Gộp chuỗi
let words = ["JS", "là", "dễ", "học"]
let sentence = words.reduce((text, word) => text + " " + word)
console.log(sentence) // "JS là dễ học"
7. Giao diện học (code + output)
| Mã lệnh | Kết quả |
|---|---|
reduce((a, b) => a + b) | Tổng các số |
reduce((a, b) => a * b) | Tích |
reduce() với item.price | Tổng giá sản phẩm |
reduce() chuỗi | Nối các từ thành câu |
Tóm tắt bài 25
Bạn đã học:
reduce()dùng để tính tổng hợp từ mảng- Nhận 2 đối số:
tổngvàphần tử hiện tại - Giá trị trả về có thể là số, chuỗi, object…
- Thường dùng để: tính tổng, gộp mảng, xây dựng object
Bài tập
- Tính tổng các số
[10, 20, 30, 40] - Tính tổng tiền giỏ hàng (mảng các object
{name, price}) - Dùng
reduce()để nối chuỗi"JS","là","hay"→"JS là hay" - Tính số lượng phần tử chẵn bằng
reduce()

Thảo luận