by Sai gowtham

How to solve shift is not a function error in JavaScript

In this tutorial, we are going to learn about how to solve the TypeError: shift is not a function in JavaScript

When we use a Array.shift() 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: "india"};

arr.shift();

Output:

"TypeError: arr.shift is not a function

In the example above, we are getting the error because we using the shift() method on a data type object but shift() method is only available in JavaScript arrays.

To solve the error, we need to make sure to call the shift() method on a data type array.

Here is an example:

const arr = [{name: "gowtham"}, {name: "john"}];
arr.shift();

console.log(arr);

Output:

[{name: "john"}]

Note: The shift() method removes the first element from an array in JavaScript.This method also changes the length of the array.

If you’re getting this error while using the shift() method in array like object like Nodelist or Set, try to convert it to an array before calling a shift() method.

Here is an example:

const elements = document.getElementsByClassName("container");

[...elements].shift();

We can also check, if the given value is an type array or not before calling the shift() method on it. So that, we can avoid the runtime errors.

var arr = [1, 2, 3];

if(Array.isArray(arr)){
    arr.shift();
}else{
    console.log("Given data is not an array")
}

In the above example, the Array.isArray() method takes the variable as an argument and returns true if the given variable is a valid array otherwise it will return false.

Conclusion

The “shift is not a function” error occurs, when we call a shift() method on a value which is not array. To solve the error convert the value to an array before calling the shift() method on it or make sure to use shift() method on a valid arrays.

Css Tutorials & Demos

How rotate an image continuously in CSS

In this demo, we are going to learn about how to rotate an image continuously using the css animations.

How to create a Instagram login Page

In this demo, i will show you how to create a instagram login page using html and css.

How to create a pulse animation in CSS

In this demo, i will show you how to create a pulse animation using css.

Creating a snowfall animation using css and JavaScript

In this demo, i will show you how to create a snow fall animation using css and JavaScript.

Top Udemy Courses

JavaScript - The Complete Guide 2022 (Beginner + Advanced)
JavaScript - The Complete Guide 2022 (Beginner + Advanced)
116,648 students enrolled
52 hours of video content
$14.99 FROM UDEMY
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
631,582 students enrolled
49 hours of video content
$24.99 FROM UDEMY
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
203,937 students enrolled
31.5 hours of video content
$14.99 FROM UDEMY