How to fix sort is not a function in JavaScript
In this tutorial, we are going to learn about how to fix the TypeError:sort is not a function in JavaScript
When we use a sort()
method on a value which is not an data type array we will get the following errors in our console.
Example:
const prices = { a: 12, b: 1};
prices.sort();
Output:
"TypeError: price.sort is not a function
In the example above, we are getting the error because we are using the sort() method on a data type Object. The sort()
method is only available for arrays.
To fix the error, make sure to call the sort() method on valid arrays but not on strings or objects.
Here is an example:
const prices = [3, 4, 5, 2];
const result = prices.sort();
console.log(result); // [2, 3, 4, 5]
In the example above, we used the sort()
method on a valid array. So it returns the sorts the array in ascending order.
We can also check if the given value is an type array or not before calling the sort() method on it. So that we can avoid the runtime errors.
const prices = 23.5;
if(Array.isArray(prices)){
prices.sort();
}else{
console.log("Given data is not an array")
}
Output:
"Given data is not an array"
The Array.isArray()
takes the variable as an argument and returns true if the given variable is a valid array otherwise it will return false.
In the above example, we have passed a number to the Array.isArray()
method, so it returns false and executed the else case and logs the “Given data is not an array” message in the console.
Conclusion
The “sort is not a function” error occurs when we call a sort() method on a value other than the date type array. To fix the error convert the value to a array before calling the sort() method on it or make sure to use the sort() method on a valid arrays..