Fix the forEach is not a function error in JavaScript
In this tutorial, we are going to learn about how to Fix the forEach is not a function error in JavaScript
When we use a Array.forEach()
method on a value which is not an type array we will get the following error in our console.
Example:
const elements = document.getElementsByClassName("container");
console.log(elements); // [div.container, div.container, div.container]
elements.forEach(element => {
});
// Uncaught parent.forEach is not a function
In the above example, we are using the forEach()
method on a HTML collection which looks like an array but it’s not an array.
To fix the error, convert the HTML collection to an array by using the spread operator and run the forEach() method on it.
Here is an example:
const elements = document.getElementsByClassName("container");
[...elements].forEach(element => {
element.style.color = "green";
});
or we can check if a given value is an type array or not before calling the forEach function.So that we can avoid runtime errors.
var arr = [1, 2, 3];
if(Array.isArray(arr)){
arr.forEach(el => {
console.log(el);
});
}