lodash sortBy dann groupBy, wird die Reihenfolge beibehalten?

Ich habe Probleme, anhand der lodash-Dokumentation herauszufinden, ob meine Annahme zum Sortieren und Gruppieren korrekt ist.

Wenn ich sortBy und dann groupBy verwende, behalten die von groupBy erzeugten Arrays die Sortierreihenfolge der Elemente bei?

Angenommen, ich habe das folgende Array:

var testArray = [[5,6],[1,3],[5,4],[5,1]]

Und ich möchte diese nach ihrem ersten Element gruppieren, sie aber auch nach ihrem zweiten Element in diesen Gruppen sortieren lassen. Ich gehe davon aus, dass ich in lodash Folgendes tun kann:

_.chain(testArray)
  .sortBy(function (item) { return item[1]; })
  .groupBy(function (item) { return item[0]; })
  .value()

Welche am Ende produziert, was ich erwarten würde:

{
  1: [[1,3]]
  5: [[5,1],[5,4],[5,6]]
}

Ist das nur Zufall? Gibt es irgendetwas an der Funktionsweise von sortBy und groupBy, das diese Reihenfolge der gruppierten Arrays sicherstellt? Die Dokumentation besagt, dass sortBy eine stabile Sortierung ist. Gilt das auch für groupBy? Gibt es einen Grund, warum ich nicht davon ausgehen sollte, dass dies jedes Mal funktioniert?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage