Dưới đây là mã để áp dụng phương thức reduce cho đối tượng trong JavaScript (bằng cách chuyển giá trị thành mảng).
Ví dụ
<!DOCTYPE html> <html lang="vi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Reduce object</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result,.sample { font-size: 18px; font-weight: 500; color: rebeccapurple; } .result { color: red; } </style> </head> <body> <h1>Phương thức reduce cho đối tượng trong JavaScript</h1> <div class="sample">{ a:6, b:2, c:9, d:5, }</div> <div class="result"><br /></div> <button class="Btn">NHẤN VÀO ĐÂY</button> <h3>Nhấn nút để nhân các giá trị của đối tượng trên</h3> <script> let resEle = document.querySelector(".result"); let BtnEle = document.querySelector(".Btn"); let multiplyObj = { a: 6, b: 2, c: 9, d: 5, }; BtnEle.addEventListener("click", () => { let multiplyTotal = Object.values(multiplyObj).reduce((a, b) => a * b); resEle.innerHTML += "Nhân các giá trị đối tượng = " + multiplyTotal; }); </script> </body> </html>
Kết quả
Khi nhấn nút: Nhân các giá trị đối tượng = 540 (6*2*9*5=540).
Object.values(obj) trả về mảng các giá trị, sau đó dùng reduce như bình thường. Cũng có thể dùng Object.entries(obj).reduce((acc, [key, val]) => ...) nếu cần cả key.