JavaScript Array sort()
Examples
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sort the Array
fruits.sort();
More Examples Below !
Description
The sort()
method sorts the elements of an array.
The sort()
method sorts the elements as strings in alphabetical and ascending order.
The sort()
method overwrites the original array.
Array Sort Methods:
Method | Finds |
---|---|
reverse() | Reverses the order of the elements in an array |
sort() | Sorts the elements of an array |
toReversed() | Reverses the elements of an array into a new array |
toSorted() | Sorts the elements of an array into a new array |
Sort Compare Function
Sorting alphabetically works well for strings ("Apple" comes before "Banana").
But, sorting numbers can produce incorrect results.
"25" is bigger than "100", because "2" is bigger than "1".
You can fix this by providing a "compare function" (See examples below).
Syntax
Parameters
A function that defines a sort order. The function should return a negative, zero, or positive value, depending on the arguments:
- function(a, b){return a-b}
When sort() compares two values, it sends the values to the compare function, and sorts the values according to the returned (negative, zero, positive) value.
Example:
The sort function will sort 40 as a value lower than 100.
When comparing 40 and 100, sort() calls the function(40,100).
The function calculates 40-100, and returns -60 (a negative value).
Return Value
More Examples
Sort Decending
Sort and then reverse the order:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sort the Array
fruits.sort();
// Reverse the array
fruits.reverse();
Numeric Sorts
Using a Sort Function
Sort numbers in ascending order:
const points = [40, 100, 1, 5, 25, 10];
// Sort the Array
points.sort(function(a, b){return a-b});
Sort numbers in descending order:
const points = [40, 100, 1, 5, 25, 10];
// Sort the Array
points.sort(function(a, b){return b-a});
Find the lowest value:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order
points.sort(function(a, b){return a-b});
let lowest = points[0];
Find the highest value:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in descending order:
points.sort(function(a, b){return b-a});
let highest = points[0];
Find the highest value:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order:
points.sort(function(a, b){return a-b});
let highest = points[points.length-1];
Array Tutorials:
Browser Support
sort()
is an ECMAScript1 (JavaScript 1997) feature.
It is supported in all browsers:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |