JavaScript-Array sort()
Beispiele
Array sortieren:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
Sortieren und dann die Reihenfolge umkehren:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
Definition und Verwendung
Der sort()
sortiert die Elemente eines Arrays.
Das sort()
überschreibt das ursprüngliche Array.
Der sort()
sortiert die Elemente als Strings in alphabetischer und aufsteigender Reihenfolge.
Siehe auch:
Vergleichsfunktion sortieren
Die alphabetische Sortierung funktioniert gut für Zeichenfolgen ("Apple" kommt vor "Banana").
Das Sortieren von Zahlen kann jedoch zu falschen Ergebnissen führen.
"25" ist größer als "100", weil "2" größer als "1" ist.
Sie können dies beheben, indem Sie eine "Vergleichsfunktion" bereitstellen (siehe Beispiele unten).
Syntax
array.sort(compareFunction)
Parameter
Parameter | Description |
compareFunction |
Optional. A function that defines a sort order. The function should return a negative, zero, or positive value, depending on the arguments:
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). |
Rückgabewert
Das Array mit den sortierten Elementen. |
Mehr Beispiele
Nummern aufsteigend sortieren:
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Nummern absteigend sortieren:
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Finden Sie den niedrigsten Wert:
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];
Finden Sie den höchsten Wert:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in descending order:
points.sort(function(a, b){return b-a});
let lowest = points[0];
Finden Sie den höchsten Wert:
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];
Browser-Unterstützung
sort()
ist eine ECMAScript1 (ES1)-Funktion.
ES1 (JavaScript 1997) wird in allen Browsern vollständig unterstützt:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |