Bài 18: Hàm reduce() – gộp giá trị mảng

yanyan

By yanyan

Cập nhật Tháng 7 19, 2025

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ệnhKết quả
reduce((a, b) => a + b)Tổng các số
reduce((a, b) => a * b)Tích
reduce() với item.priceTổng giá sản phẩm
reduce() chuỗiNố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ổngphầ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

  1. Tính tổng các số [10, 20, 30, 40]
  2. Tính tổng tiền giỏ hàng (mảng các object {name, price})
  3. Dùng reduce() để nối chuỗi "JS", "là", "hay""JS là hay"
  4. Tính số lượng phần tử chẵn bằng reduce()

📂 Chuyên mục:

🏷️ Thẻ liên quan:

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

[global_subscribe_form]

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.