How to solve every is not a function in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: every is not a function in JavaScript
When we use a Array.every()
method on a value which is not an data type array we will get the following error in our console.
Example:
const obj= {
a: 1,
b: 2,
c: 3
};
obj.every(el => el < 10 );
Output:
"TypeError: obj.every is not a function
In the example above, we are getting the error because we using the every()
method on a object.
To solve the error, we need to make sure call the every() method on a data type array.
Here is an example:
const arr = [2, 3, 4];
const result = arr.every(el=> el < 10);
console.log(result); //Output -> True
Note: The every()
method returns true, if all elements in the array passes the test condition, otherwise it returns false.
If you’re getting the error when working with a HTML collection then convert the HTML collection to a array before calling every()
method on it.
const elements = document.getElementsByClassName("container");
[...elements].every(el => el.style.color === "red");
We can check if the given value is an type array or not before calling the every()` method.So, we can avoid the runtime errors.
var arr = [1, 2, 3];
if(Array.isArray(arr)){
arr.every(el => el < 10);
}else{
console.log("Given data is not an array")
}
Conclusion
The “every is not a function” error occurs, when we call a every() method on a value which is not array. To fix the error convert the value to an array before calling the every() method on it or make sure to use every() method on valid arrays.