Ich möchte ein Array auf eine benutzerdefinierte Weise sortieren. Beispiel wäre die Klassenstufe eines Schülers:
%Vor%Idealerweise sollte die Sortierung zurückkehren:
%Vor%Ich denke, dass ich die Klassenstufen im Voraus so einstufen könnte:
%Vor%und wenden Sie dann eine Sortierung über:
an %Vor%Aber dann muss ich die Ränge strippen, indem ich Folgendes mache:
%Vor%Gibt es einen direkteren Weg, dies zu tun, ohne die Classlevels vorher zu klassifizieren und sie danach wieder zu entfernen?
Zusätzlich zu Jasons Antwort:
%Vor%Es hilft, das Array von Objekten zu sortieren
Mach es super hackisch / schlecht !!! Tot einfach / wahnsinnig verwirrend:)
%Vor%Bearbeiten:
Da die Leute diese Antwort nützlich zu finden scheinen, hier ist eine Erklärung, wie es funktioniert ... Sortiert basierend auf einem Buchstaben in dem bereitgestellten Wort. Da "Sophomore" und "Senior" einen doppelten Anfangsbuchstaben haben, habe ich gewählt, nach dem zweiten Buchstaben zu sortieren, jedes Wort hat einen eindeutigen Wert dafür.
Das würde sie dann so ordnen: Senior, Sophomore, Freshman, Junior. Um sie richtig zu sortieren, subtrahiere ich mit dem Zeichencode für Q (113), der direkt neben R steht (für Erstsemester). Das heißt, wie nahe der zweite Buchstabe jedes Wortes an Q ist, bestimmt die Reihenfolge. Um negative Zahlen zu vermeiden, nimmt die Funktion den absoluten Wert des Ergebnisses und gibt das zurück.
Tags und Links underscore.js