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