The most confusing array method
Reduce()
is not just another array method; it's more than that. Do you think I'm exaggerating? No, I'm not. Keep reading below to find out why.
This array method requires two arguments:
Callback function
- This callback function is invoked with the following arguments:
i. accumulator
ii. currentValue
iii. currentIndex
iv. array (The array on whichreduce()
was called)
- This callback function is invoked with the following arguments:
InitialValue (optional)
Example:
const arr = [1,2,3,4]; // array of numbers
function callBackFunc(accumulator, currentValue) { // callback function for reduce
return accumulator + currentValue; // this returned value will become accumulator for the next iteration
}
const initialValue = 0; // default value
const sum = arr.reduce(callBackFunc, initialValue);
console.log(sum); // printing the sum of all array values
// Output: 10
Explanation:
In the above example, we are displaying the sum of all the array values.
We set
initialValue = 0
because if no initialValue is provided,reduce()
will use the first value in the array, leading to incorrect calculations.In the callback function, whatever we return becomes the accumulator value for the next iteration. This is the power of
reduce()
; we can obtain the result of the previous returned value.Using the
reduce()
method, we can perform various operations such as aggregation and segregation.
In essence, the reduce()
method goes beyond just being another array function. It provides developers with a powerful tool for concise and elegant data manipulation in JavaScript. By allowing the aggregation, transformation, and segregation of array elements using a customizable callback function that works on an accumulator, reduce()
makes complex operations clear and efficient.
Subscribe to my newsletter
Read articles from Rohit Dasu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Rohit Dasu
Rohit Dasu
A Developer's Journey of Thought and Discovery