js reduce in plain js code example
Example 1: reduce method javascript
// Reduce() method executes a callback function that is passed in
// on each element of the array, resulting in single output value.
const array1 = [1, 2, 3, 4];
const callback = (accumulator, currentValue) => accumulator + currentValue;
// 1 + 2 + 3 + 4
console.log(array1.reduce(callback));
// expected output: 10
// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(callback, 5));
// expected output: 15 because the initial value is 5.
// This is how Reduce works.
// This is a myReduce method which takes a callback and an optional argument
// of a default accumulator. If myReduce only receives one argument, then
// myReduce will use the first element as the accumulator.
Array.prototype.myReduce = function(callback, acc) {
if (!acc) {
acc = this.shift();
}
this.forEach(function(element) {
acc = callback(acc, element)
})
return acc;
}
Example 2: reduce method
The reduce() method executes a reducer function (that you provide) on each element of the array, resulting in single output value.
The reducer function takes four arguments:
Accumulator (acc)
Current Value (cur)
Current Index (idx)
Source Array (src)
//syntax
arr.reduce(callback( accumulator, currentValue, [, index[, array]] )[, initialValue])
//example flatten an array
let flattened = [[0, 1], [2, 3], [4, 5]].reduce(
( accumulator, currentValue ) => accumulator.concat(currentValue),
[]
)