In Javascript muss ich Objekte in einem Array nach Typ sortieren. Jeder Typ hat eine höhere Priorität, also sollte ein Objekt vom Typ "wischen" die höchste Priorität haben, also vorne im Array (Index = 0).
Was wäre der beste Weg, um diese Objekte zu sortieren? Gibt es eine eingebaute Funktion, die das kann?
Für zB:
%Vor%Dies könnte die Lösung sein, nach der Sie suchen:
%Vor%Es funktioniert genau wie gewünscht. Sehen Sie diese Datei für einen Beweis.
Die Lösung verwendet die sort()
-Methode der Array
-Klasse und gibt einen Callback an sie weiter, der einen benutzerdefinierten Vergleich ermöglicht. In diesem Fall basiert der Vergleich auf der Position der Eigenschaft .type
der verglichenen Elemente in order
array.
Es ist ziemlich einfach in JavaScript:
Zuerst legen Sie Ihre Objekte in ein Array, z. myArray
.
Als nächstes schreiben Sie eine Funktion, die Objekte annimmt und einen Wert kleiner als 0 zurückgibt, wenn das erste Objekt vor dem zweiten Objekt im Array erscheinen sollte, 0, wenn die beiden Objekte für die Sortierung gleich sind, oder einen Wert größer als 0 wenn das zweite Objekt vor dem ersten Objekt im Array erscheinen soll. Zum Beispiel:
%Vor% Rufen Sie schließlich myArray.sort(myOrderFunc)
auf. Dadurch werden die Objekte in Ihrem Array sortiert. Wenn Sie ein detaillierteres Beispiel mit Ihren spezifischen Daten benötigen, fragen Sie einfach.
Tags und Links javascript algorithm sorting