Strings in JavaScript sortieren
-
Sortieren von JavaScript-Strings mit der Methode
sort()
-
Sortieren von JavaScript-Strings mit der Methode
localeCompare()
Ein JavaScript-String enthält null oder mehr Anführungszeichen, die zum Speichern und Bearbeiten von Text verwendet werden.
Wenn es um Strings in JavaScript geht, gibt es einige nützliche integrierte Methoden, die uns helfen, mit ihnen zu arbeiten und sie zu manipulieren. In diesem Artikel erfahren Sie, wie Sie ein Array von Zeichenketten mithilfe der integrierten JavaScript-Methoden sortieren.
JavaScript hat zwei Methoden, sort
und localeCompare
, die ein geordnetes Array von Strings zurückgeben, indem das ursprüngliche Array von Strings mutiert wird.
Sortieren von JavaScript-Strings mit der Methode sort()
Die Methode sort()
ist eine eingebaute Methode von JavaScript, die die Elemente eines Arrays sortiert.
Diese Sortierung erfolgt durch die Umwandlung eines Elements in Strings. Und basierend darauf vergleicht es ihre Sequenzen von Werten der UTF-16
-Codeeinheiten.
Die Standardreihenfolge ist immer aufsteigend. Diese Methode mutiert das ursprüngliche Array.
Syntax:
sort()
sort((firstEl, secondEl) => {...})
sort(compareFn)
sort(function compareFn(firstEl, secondEl) {
...
})
Die Parameter firstEl
und secondEl
repräsentieren zwei Elemente eines Arrays, die verglichen und sortiert werden müssen. compareFn
ist eine optionale Funktion, die die benutzerdefinierte Sortierfunktion definiert. Der Rückgabewert dieser Methode besteht darin, dass sie ein sortiertes Array an Ort und Stelle zurückgibt, was bedeutet, dass das ursprüngliche Array mutiert und das Ergebnis im ursprünglichen Array gespeichert wird.
Weitere Informationen finden Sie in dieser Dokumentation zur Methode sort()
.
const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort();
console.log(osItems);
Wenn wir sort()
aufrufen, sortiert dies das ursprüngliche Array osItems
nach UTF-16
-Codeeinheiten und speichert das Ergebnis zurück in das osItems
-Array. Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe.
Ausgabe:
["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
Sortieren von JavaScript-Strings mit der Methode localeCompare()
Die Methode localeCompare()
ist eine eingebaute Methode, die von JavaScript bereitgestellt wird.
Diese Methode prüft, ob eine ReferenzZeichenkette davor oder danach steht, stimmt mit der angegebenen Zeichenkette in der Sortierreihenfolge überein und gibt die darauf basierende Zahl zurück. Das tatsächliche Ergebnis kann abweichen, wenn Sie das andere Gebietsschema übergeben.
Syntax:
localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)
compareString
ist ein erforderlicher Parameter, bei dem es sich um eine Zeichenkette handelt, mit der die ReferenzZeichenkette verglichen wird.
locales
stellt die Sprache dar, deren Formatierungskonventionen verwendet werden sollen, und ist ein vollständig optionaler Parameter. Basierend auf dem Vergleich wird entweder 1
zurückgegeben, wenn der Referenzstring nach dem Stringvergleich auftritt, -1
, wenn der Referenzstring vor dem Stringvergleich auftritt, und 0
, wenn beide Strings äquivalent sind.
Weitere Informationen finden Sie in dieser Dokumentation zur Methode localeCompare()
.
Der einzige Vorteil der Verwendung der Methode localeCompare
innerhalb der Methode sort
besteht darin, dass sie das Sortieren der Nicht-ASCII-Zeichen wie é und è ermöglicht. Die Locales- und Optionsparameter der Methode localeCompare
machen sie genauer.
const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort((a, b) => a.localeCompare(b, 'en'));
console.log(osItems);
Wenn wir a.localeCompare(b, 'en')
aufrufen, vergleicht dies a
(Referenzstring) aus dem ursprünglichen Array, in diesem Fall osItems
, mit b
(Vergleichsstring) im englischen Gebietsschema. Der interessante Teil hier ist, dass es nur -1
, 1
und 0
zurückgibt, und dann sortiert die Sortiermethode diese Strings.
Wenn Sie den obigen Codeblock ausführen, erhalten Sie die folgende Ausgabe.
Ausgabe:
["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn