How to Sort an Array Alphabetically in JavaScript

Arrays are a great data structure for storing a collection of items in a single variable.
Oftentimes, the array will not be in alphabetical order but you need it in that order.
In this post, we'll learn how to sort an array alphabetically in JavaScript.
How to sort an array alphabetically in JavaScript
Let's start with an array that is not in alphabetical order.
const array = ["c", "a", "b"];
console.log(array);
[ "c", "a", "b" ]
To sort this array, we will use the built-in sort
method.
This method takes a callback function as an argument and sorts the array based on the return value of the callback function.
If the callback function returns a negative number, the first element will be sorted before the second element.
Let's use the localeCompare
method to sort the array.
const array = ["c", "a", "b"];
array.sort((a, b) => a.localeCompare(b));
console.log(array);
[ "a", "b", "c" ]
This works so elegantly because the localeCompare
method returns a negative number if a
is before b
and a positive number if a
is after b
, which is exactly what the sort
method expects.
This also works if you are working with an array of objects:
const array = [
{ name: "c" },
{ name: "a" },
{ name: "b" }
];
array.sort((a, b) => a.name.localeCompare(b.name));
console.log(array);
0: {name: 'a'}
1: {name: 'b'}
2: {name: 'c'}
Either way, you end up with an array in alphabetical order which you can use further in your program.
Conclusion
In this post, we learned how to sort an array alphabetically in JavaScript.
Simply use the sort
method on the element, either directly or on an element's property, to tell the method how to order the elements.
Thanks for reading and happy coding!
If you want to learn about web development, founding a start-up, bootstrapping a SaaS, and more, follow me on Twitter! You can also join the conversation over at our official Discord!
Leave us a message!