Wie verwende ich groupBy in Backbone.js, um Sammlungen zu gruppieren?

8

Eine Beispiel-Sammlung (zeigt nur Modelle):

%Vor%

Wie kann ich die Funktion groupBy von Underscore.js verwenden, um Modelle mit demselben Datum zu gruppieren?

    
Mark Gia Bao Nguyen 31.03.2012, 09:14
quelle

5 Antworten

5

Verwenden Sie _.groupBy(data, 'date');

Sie können auch eine benutzerdefinierte Funktion übergeben, aber in diesem Fall ist es nicht notwendig, da die obige Syntax der Attributverknüpfung funktioniert.

%Vor%

Demo:

%Vor%     
ThiefMaster 31.03.2012, 09:23
quelle
47

Wenn Sie eine tatsächliche Backbone-Sammlung gruppieren, können Sie die Backbone-Methode groupBy verwenden, die implizit die Unterstreichungsfunktion _.groupBy verwendet. Das ist meiner Meinung nach ein viel sauberer Ansatz.

%Vor%     
bullfrog 02.01.2013 13:47
quelle
10

Die Antwort von ThiefMaster ist absolut gültig, aber es hat mich etwas verwirrt, weil ich eine Lösung für eine backbone.js-Sammlung suchte, wie der Titel anzeigt.

Wenn das Frageobjekt eine Backbone-Sammlung ist, sollten wir Folgendes tun, um die Modelle nach Datum zu gruppieren:

%Vor%

Ich hoffe, es hilft

    
Marshal 25.07.2012 14:14
quelle
4
%Vor%     
Jonatan Anauati 16.11.2012 15:11
quelle
0

Für diejenigen, die Lodash anstelle von Unterstrich verwenden, können Sie dasselbe Ergebnis mit dem _.method() Accessor erzielen.

%Vor%     
Andrew 04.10.2016 15:38
quelle