JavaScript Namen zu Nachnamen sortieren?
Ich habe 2 Listen, eine mit Vornamen und eine mit Nachnamen und es wird zufällig ein Name davon in einer variable zwischen gespeichert, nun möchte ich das der dazu passende Nachnamen in einer zweiten variable gespeichert wird, ich weiß das es dafür einen einfachen Weg gibt aber ich weiß wirklich nicht mehr wie der ging, hat hier eventuell jemand eine Idee?
2 Antworten
Wenn du für die Wahl des Vornamens erst einen zufälligen Index generierst, könntest du den auch nutzen, um den Nachnamen zu ermitteln. Voraussetzung ist natürlich, dass alle Namenspaare (Vor- und Nachname) in den Listen an jeweils selber Stelle stehen.
Generell wäre es besser, nur eine Liste anzulegen, die Objekte speichert, welche wiederum jeweils Vor- und Nachname beinhalten.
const persons = [
{ firstname: "John", lastname: "Doe" },
{ firstname: "Mary", lastname: "Sue" },
/* etc. */
];
Aus der kann man anschließend einen zufälligen Wert herausholen.
Auf Properties eines Objekts kann über den Punktoperator zugegriffen werden.
Beispiel:
console.log(yourObject.firstname + " " + yourObject.lastname);
Um eine Liste von Namen in JavaScript zu sortieren, kann man die sort()-Methode der Array-Klasse verwenden. Hier ein Beispiel:
Die sort()-Methode sortiert die Elemente eines Arrays in alphabetischer Reihenfolge. Wenn du die Namen nach dem Nachnamen sortieren möchtest, kannst du eine benutzerdefinierte Sortierfunktion verwenden, die den Nachnamen jedes Namens extrahiert und diese verwendet, um die Namen zu vergleichen.
In diesem Beispiel wird jeder Name in der Liste in zwei Teile geteilt: den Vornamen und den Nachnamen. Dann werden die Nachnamen verglichen und die Namen werden entsprechend sortiert. Die Sortierfunktion gibt einen negativen Wert zurück, wenn der Nachname von a vor dem Nachnamen von b kommt, einen positiven Wert, wenn der Nachname von a nach dem Nachnamen von b kommt und 0, wenn sie gleich sind.


Ja genau so habe ich auch meine Liste aber jetzt weiß ich irgendwie nicht weiter