Q:

reduce method

var array = [36, 25, 6, 15];

array.reduce(function(accumulator, currentValue) {
  return accumulator + currentValue;
}, 0); // 36 + 25 + 6 + 15 = 82
19
function getArraySum(a){
    var total=0;
    for(var i in a) { 
        total += a[i];
    }
    return total;
}

var payChecks = [123,155,134, 205, 105]; 
var weeklyPay= getArraySum(payChecks); //sums up to 722
5
var age = [ { Id: 16 }, { Id: 24 }, { Id: 32 } ];

var ageById = age.reduce((byId, age) => (byId[age.Id] = age, byId), {});
console.log(ageById);
would print out:
`{16:{Id: 16},24:{Id: 24},32:{Id: 32}}`
3
const sum = array.reduce((accumulator, element) => {
  return accumulator + element;
}, 0);
// An example that will loop through an array adding
// each element to an accumulator and returning it
// The 0 at the end initializes accumulator to start at 0
// If array is [2, 4, 6], the returned value in sum
// will be 12 (0 + 2 + 4 + 6)

const product = array.reduce((accumulator, element) => {
  return accumulator * element;
}, 1);
// Multiply all elements in array and return the total
// Initialize accumulator to start at 1
// If array is [2, 4, 6], the returned value in product
// will be 48 (1 * 2 * 4 * 6)
5
// 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;
}
1
array.reduce(function(acumulador, elementoAtual, indexAtual, arrayOriginal), valorInicial)
2
arr.reduce(callback( accumulator, currentValue[, index[, array]] )[, initialValue])
8
//note idx and sourceArray are optional
const sum = array.reduce((accumulator, element[, idx[, sourceArray]]) => {
	//arbitrary example of why idx might be needed
	return accumulator + idx * 2 + element 
}, 0);
4
const myReduce = myArray.reduce((acc, item) => {
	acc += item
})

0
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),
  []
)
0

Tags

Related

New to Communities?

Join the community