Was ist der beste Weg, um ein großes Array in mehrere Unterarrays zu ändern, die auf der Eigenschaft der Objekte im ursprünglichen Array basieren? Zum Beispiel habe ich ein Array von Objekten (alle Objekte haben die gleichen Eigenschaften):
array = [
{:name => "Jim", :amount => "20"},
{:name => "Jim", :amount => "40"},
{:name => "Jim", :amount => "30"},
{:name => "Eddie", :amount => "7"},
{:name => "Eddie", :amount => "12"},
{:name => "Pony", :amount => "330"},
{:name => "Pony", :amount => "220"},
{:name => "Pony", :amount => "50"}
]
Beachten Sie, dass alle Objekte mit demselben Name Eigenschaft sind in dem Array aufeinanderfolgend. Jetzt möchte ich die Objekte in Unter-Arrays gruppieren, die auf der Eigenschaft name basieren. Was ich brauche ist:
result = [
[
{:name => "Jim", :amount => "20"},
{:name => "Jim", :amount => "40"},
{:name => "Jim", :amount => "30"}
],
[
{:name => "Eddie", :amount => "7"},
{:name => "Eddie", :amount => "12"}
],
[
{:name => "Pony", :amount => "330"},
{:name => "Pony", :amount => "220"},
{:name => "Pony", :amount => "50"}
]
]
Wie kann man das am besten machen? Danke!