How to solve pop is not a function error in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: pop is not a function in JavaScript
When we use a Array.pop()
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 = {name: "gowtham", place: "ontario"};
arr.pop();
Output:
"TypeError: arr.pop is not a function
In the example above, we are getting the error because we using the pop()
method on a data type object.
To solve the error, we need to make sure to call the pop() method on a data type array.
Here is an example:
const arr = [{name: "gowtham", place: "Ontario"},
{name: "john", place: "London"}];
arr.pop();
console.log(arr);
Output:
[{name: "gowtham", place: "Ontario"}]
Note: The pop()
method removes the last element from the array in JavaScript.
If you’re getting this error while using the pop() method in array like object like Nodelist or Set, try to convert it to an array before calling the pop() method on it.
Here is an example:
const elements = document.getElementsByClassName("container");
[...elements].pop();
We can also check, if the given value is an type array or not before calling the pop()
method on it. So that, we can avoid the runtime errors.
Here is an example:
var arr = [1, 2, 3];
if(Array.isArray(arr)){
arr.pop();
}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 “pop is not a function” error occurs, when we call a pop() method on a value which is not array. To solve the error convert the value to an array before calling the pop() method on it or make sure to use pop() method on a valid arrays.