Methode sort
Die Methode sort sortiert ein Array
in lexikografischer Reihenfolge und gibt das bereits
veränderte Array zurück. Als optionalen Parameter
kann eine eigene Funktion für die Sortierung angegeben werden.
Syntax
array.sort([Funktion]);
Beispiel
Lassen Sie uns ein Array sortieren:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Ergebnis der Codeausführung:
['a', 'b', 'c', 'd']
Beispiel
Lassen Sie uns ein Array mit Zahlen sortieren:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Ergebnis der Codeausführung:
[1, 2, 4, 7]
Beispiel
Lassen Sie uns Zahlen zum Array hinzufügen und es sortieren:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Als Ergebnis der Codeausführung sehen wir, dass die Zahlen nicht in aufsteigender Reihenfolge, sondern in lexikografischer Reihenfolge angeordnet sind, d.h. Zahlen werden untereinander wie Zeichenketten verglichen. Dabei wird Zeichen für Zeichen verglichen, ob der Code des ersten Zeichens größer ist als der Code des benachbarten usw. Ergebnis:
[1, 111, 123, 2, 4, 7]
Beispiel
Lassen Sie uns nun das Array
mit einer Funktion sortieren, in der wir die Bedingung festlegen -
wenn der erste Parameter größer als der zweite ist, wird er umgestellt
(dafür in return eine beliebige positive Zahl).
Im umgekehrten Fall ist keine Umstellung erforderlich und wir geben
0 oder eine beliebige negative Zahl zurück:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Ergebnis der Codeausführung:
[1, 2, 4, 7, 111, 123]
Beispiel
Lassen Sie uns der Einfachheit halber den Code in unserer Funktion aus dem vorherigen Beispiel kürzen:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Ergebnis der Codeausführung:
[1, 2, 4, 7, 111, 123]
Beispiel
Und nun sortieren wir mit Hilfe einer Funktion das Array in absteigender Reihenfolge:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Ergebnis der Codeausführung:
[123, 111, 7, 4, 2, 1]
Beispiel
Lassen Sie uns ein Array von Objekten
nach dem Schlüssel 'one' in aufsteigender Reihenfolge sortieren:
let arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.one - b.one;
});
console.log(arr);
Ergebnis der Codeausführung:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Beispiel
Und nun lassen Sie uns das Array von Objekten
nach dem Schlüssel 'two' sortieren:
let arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.two - b.two;
});
console.log(arr);
Ergebnis der Codeausführung:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Beispiel
Lassen Sie uns prüfen, ob sich das Array nach
Anwendung der Methode sort verändert hat:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Ergebnis der Codeausführung:
['a', 'b', 'c', 'd']
Siehe auch
-
die Methode
filter,
die das Filtern von Array-Elementen ermöglicht