JavaScript wie Array sortieren nach der Nummer im Wert?
Array:
[
'5: adawdadawd',
'1: awdawdadawd',
'4: awdadawd',
'2: awdawdawd',
'3: awdadadad'
]
Das sind meine Items im Array (mit Beispielwerten), jetzt möchte ich, dass die Items anhand der Nummer im Item sortiert werden.
Das es so aussieht:
[
'1: awdawdadawd',
'2: awdawdawd',
'3: awdadadad',
'4: awdadawd',
'5: adawdadawd',
]
In JavaScript
3 Antworten
Du verwendest die Sort-Methode vom Array und übergibst als Parameter eine Funktion, die die Nummer aus dem Item extrahiert und vergleicht. Die Extraktion kannst du z.B. erreichen indem du einen regulären Ausdruck verwendest der alles was keine Ziffer ist entfernt, wie
string.replace(/\D+/g, '');
Woher ich das weiß:Berufserfahrung
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
HTML, JavaScript, Webentwicklung
Mit Array.sort und String.split geht das:
let arr = [
'5: adawdadawd',
'1: awdawdadawd',
'4: awdadawd',
'2: awdawdawd',
'3: awdadadad'
];
let sorted = arr.sort((a, b) => a.split(':')[0] > b.split(':')[0]);
console.log(sorted);
Ausgabe:
["1: awdawdadawd", "2: awdawdawd", "3: awdadadad", "4: awdadawd", "5: adawdadawd"]
Woher ich das weiß:Berufserfahrung – Entwickle Webseiten seit über 25 Jahren.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
HTML, JavaScript, Programmiersprache
Ich denke in dem Fall reicht ein
arr.sort();
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf