Implementieren Sie in JavaScript mehrdimensionale Arrays und Objektarray-Sortierungen, wobei die native Sort () -Methode zur Sortierung der Elemente des Arrays implementiert wird.
Ich werde nicht über die grundlegende Verwendung sprechen. Schauen wir uns zunächst ein einfaches Sortierbeispiel an:
// sortalphabetisch und aufsteigend: Varmyarray = ["Bob", "Bully", "Amy"] myarray.sort () // ArrayNow wird ["Amy", "Bob", "Bully"]
Nachdem das Array direkt () als Sort () bezeichnet wird, sortiert das Array die Elemente im Array alphabetisch. Um es genauer auszudrücken, sortiert es in der Reihenfolge der Charaktercodierung.
Schauen wir uns die Sortierung von Zahlen an:
// Sortnumeric und Ascending: Varmyarray = [25, 8, 7, 41] myarray.sort (Funktion (a, b) {returna - b}) // ArrayNow wird [7, 8, 25, 41]Sortieren (Spaß) akzeptiert eine Sortierfunktion, die die Größen von 2 Zahlen vergleicht. Das Prinzip unserer Objektarray -Sortierung ist tatsächlich das gleiche.
Für die Sortierung des Objektarrays schreiben wir zunächst eine Funktion, die die Vergleichsfunktion konstruiert:
// Durch Funktion nimmt eine Elementname -Zeichenfolge als Parameter // zurück und gibt eine Vergleichsfunktion zurück, mit der ein Array von Objekten sortiert werden kann, die die Element -varby = function (name) {returnfunction (o, p) {vara, b; if (typeofo === "Objekt" && typeofp === "Objekt" && O && o && p) {a = {a = {a = {a = {a [name]; {return0;} if (typeofa === Typofb) {return <b? -1: 1;} returntype von a <typeofb? -1: 1;} else {throw ("Fehler");}}}}Array zu sortieren:
VARBOOMPOTORS = [] Mitarbeiter [0] = {Name: "George", Alter: 32, Rentiredat: "März 12, 2014"} Mitarbeiter [1] = {Name: "Edward", Alter: 17, Rentiredate: "2, 2, 2023"} Mitarbeiter [2] = {Name: "Christine", Alter: 58, Pension: "Pension:" Pension. 2036 "} Mitarbeiter [3] = {Name:" Sarah ", Alter: 62, Rentiredate:" 30. April, 2020 "}Rufen Sie die Funktion direkt auf:
Mitarbeiter.Sort (von ("Alter"));Zu diesem Zeitpunkt wird die Reihenfolge von Objektarrays im Grunde genommen implementiert. Wie kann ich also mehrere Schlüsselwertsortierungen implementieren? Es bedeutet, zuerst das Alter zu sortieren und wenn das Alter das gleiche ist, dann vergleichen Sie den Namen.
Zu diesem Zeitpunkt können wir die By -Funktion weiter ändern, damit er den zweiten Parameter akzeptieren kann. Wenn der Hauptschlüsselwert eine Übereinstimmung erzeugt, wird eine andere Vergleichsmethode aufgerufen, um die Ebene zu bestimmen.
// Die Funktion akzeptiert eine Elementnamenzeichenfolge und eine optionale sekundäre Vergleichsfunktion als Parameter // und gibt eine Vergleichsfunktion zurück, mit der das Objektarray sortiert werden kann, das das Mitglied enthält // Wenn o [Alter] und P [Alter] gleich sind, sind die sekundäre Vergleichsfunktion verwendet, um die Ebene der Varby -Funktion zu bestimmen (Name, minor 'Objekt' && typeofp === 'Objekt') {a = o [name]; b = p [name]; if (a === b) {returnTypeof minor === 'Funktion'? minor (o, p): 0;} if (typeofa === TypeOfb) {returna <b? -1: 1;} returntype von a <typeofb? -1: 1;} else {thro ("error");}}} Mitarbeiter.sort (von ('Alter', durch ('Name'));OK, jetzt können Sie es mit Zuversicht verwenden. Wenn Sie es nicht verstehen, können Sie die nach Funktion direkt in Ihre Anwendung kopieren und direkt aufrufen.
Das obige ist die vollständige Beschreibung der von dem Editor vorgelegten Beispielmethode für das JavaScript -Objekt -Array -Sortieren. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!