How to solve reduce is not a function error in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: reduce is not a function in JavaScript
When we use a Array.reduce() method on a value which is not an data type other than array we will get the following error in our console.
Example:
const arr = {a: 1, b: 2};
arr.reduce((result, current) => result+current);Output:
"TypeError: arr.reduce is not a functionIn the example above, we are getting the error because we using the reduce() method on a data type object.
To solve the error, we need to make sure to call the reduce() method on a data type array or convert it to an array before calling a reduce method on it.
Here is an example:
const arr = [1 ,2];
const sum = arr.reduce((result, current) => result + current));
console.log(sum);Output:
3Note: The reduce() method adds the all elements in an array and return the sum of it.
We can also check, if the given value is a data type array or not before calling the reduce() method on it. So that, we can avoid the runtime errors.
var arr = [1, 2, 3];
if(Array.isArray(arr)){
arr.reduce((result, current) => result + current);
}else{
console.log("Given data is not an array")
}In the above example: Array.isArray() takes the variable as an argument and returns true if the given variable is a valid array otherwise it will return false.
Conclusion
The “reduce is not a function” error occurs, when we call a reduce() method on a value which is not an array. To solve the error, make sure to use reduce() method on a valid arrays or convert the values to an array before calling the reduce() method.


