Ich verwende groupBy von angular-filter , um ein Array von Objekten anhand ihrer date -Eigenschaft zu gruppieren.
%Vor%Was folgendes bewirkt:
%Vor%Wie kann ich die Reihenfolge umkehren, um mit dem letzten Datum zu beginnen? Wenn ich auf die Konsole drucke, wird das Array in der gewünschten Reihenfolge gedruckt:
%Vor%Ich habe auch einen benutzerdefinierten Filter geschrieben, um die Reihenfolge nach der groupBy umzukehren:
%Vor%Was ich so angewendet habe:
%Vor% Kürzlich hatte das gleiche Problem. groupBy
erzeugt ein Objekt, aber das orderBy
benötigt ein Array, also ist ein bisschen Funkiness dabei. Ich habe die Antwort direkt von ihrer Ausgabenseite bekommen, wo einer der Autoren eine hervorragende Arbeit leistet, um sie komplett mit Codebeispielen zu erklären, die im Grunde für mich kopierbar waren.
Es scheint die richtige Methode zu sein, die | toArray: true | orderBy: customMappingFunction
zu verwenden, jedoch fand ich die Leistung auf dieser Seite fürchterlich. Ich habe eine Lösung gefunden, die die Leistung aufrechterhält und das richtige Ergebnis liefert (obwohl es ein bisschen seltsam erscheint!)
Aus irgendeinem Grund erzwingt das Hinzufügen von -
das groupBy
korrekt zu sortieren, aber es fügt es auch zu key
hinzu, sodass wir es einfach entfernen können!
Wir können dies erreichen, indem wir die Daten in Controller & amp; Umwandlung von groupBy in Array.
Ordnen Sie die Datensätze im Controller an, bevor Sie sie zum Anzeigen senden:
%Vor%Jetzt die Vorlage, empfängt Daten in sortierter Reihenfolge. Nach der Gruppierung müssen wir es in Array umwandeln:
%Vor%Eine einfache Möglichkeit, ein Array umzukehren, besteht darin, den Code aus dieser Antwort
zu verwenden %Vor%Tags und Links javascript angularjs angularjs-filter