sort array
Sorting Arrays in JavaScript
Sorting is a fundamental operation in programming. In JavaScript, we can sort arrays using the built-in sort()
method.
Syntax
The sort()
method has the following syntax:
array.sort([compareFunction])
The compareFunction
parameter is optional. It is a function that defines the sort order. If omitted, the array is sorted in ascending order by default.
Examples
Let's see some examples of sorting arrays in JavaScript.
Sorting an Array of Strings
Suppose we have an array of names:
const names = ["Alice", "Bob", "Charlie", "David"];
We can sort this array in ascending order as follows:
names.sort(); // ["Alice", "Bob", "Charlie", "David"]
The resulting array is sorted in alphabetical order.
Sorting an Array of Numbers
Suppose we have an array of numbers:
const numbers = [5, 2, 9, 1, 7];
We can sort this array in ascending order as follows:
numbers.sort((a, b) => a - b); // [1, 2, 5, 7, 9]
The compareFunction
parameter is a function that takes two arguments a
and b
, which are two elements of the array being sorted. The function should return a negative, zero, or positive value, depending on the sort order of a
and b
. In this example, we subtract b
from a
, which sorts the array in ascending order.
We can also sort the array in descending order as follows:
numbers.sort((a, b) => b - a); // [9, 7, 5, 2, 1]
In this case, we subtract a
from b
, which sorts the array in descending order.
Sorting an Array of Objects
Suppose we have an array of objects:
const people = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 20 }
];
We can sort this array by the age
property in ascending order as follows:
people.sort((a, b) => a.age - b.age);
The resulting array is sorted by age as follows:
[
{ name: "Charlie", age: 20 },
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 }
]
We can sort the array by the name
property in alphabetical order as follows:
people.sort((a, b) => a.name.localeCompare(b.name));
The resulting array is sorted by name as follows:
[
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 20 }
]
Conclusion
Sorting arrays is an important skill in programming, and JavaScript provides a convenient sort()
method for this purpose. By providing a compareFunction
parameter, we can customize the sort order to suit our needs.