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 function
In 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:
3
Note: 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.