reduce()
method
ES5
Executes a reducer function on each element, resulting in a single output value.
Syntax
array.reduce(callback(accumulator, currentValue), initialValue)
Example
javascript
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, n) => acc + n, 0);
console.log(sum); // 15
const cart = [{price:10, qty:2}, {price:25, qty:1}];
const total = cart.reduce((acc, item) => acc + item.price * item.qty, 0);
console.log(total); // 45
// Group by
const grouped = ['a','b','a','c','b'].reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
console.log(grouped); // {a:2, b:2, c:1}