Mit der Unterstreichungsfunktion groupBy kann ein Array nach einer seiner Elementeigenschaften gruppiert werden. Das Ergebnis ist ein Objekt, das wie folgt Schlüssel-Wert-Paare aufweist: Gruppe> entsprechendes Array-Fragment.iterieren über ein Objekt, das von _.groupBy
var words = ['Hey', 'Hii', 'Salut'],
grouped = _.groupBy(words, 'length');
gruppiert sieht wie folgt aus:
{
'3': ['Hey', 'Hii'],
'5': ['Salut']
}
die eine einfache und sichere Art und Weise über diese zu durchlaufen wäre, sagen wir beginnend mit der höchsten Länge von der nächstniedrigeren gefolgt. Dies funktioniert:
_.each(_.toArray(grouped).reverse(), function(v) {
console.log(v);
});
Aber ich denke, es ist nicht ganz korrekt, da Objekte ungeordnete Listen sind und die richtige Reihenfolge geschieht hier nur durch Zufall. Irgendwelche Kommentare dazu?