Gruppe Hash-Werte in ruby
Habe ich einen hash in ruby, die wie folgt aussieht:
{
"admin_milestones"=>"1",
"users_milestones"=>"0",
"admin_goals"=>"1",
"users_goals"=>"0",
"admin_tasks"=>"1",
"users_tasks"=>"0",
"admin_messages"=>"1",
"users_messages"=>"0",
"admin_meetings"=>"1",
"users_meetings"=>"0"
}
Ich versuche, Suche nach Lösungen, die schneiden kann diesen hash in zwei Teile, eine mit dem Wert 1 und andere hash mit dem Wert 0.
- Ich war speziell auf der Suche für das, was der Benutzer beantwortet, danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Gruppe-hash durch seinen Wert:
Erzeugt eine hash-gruppiert durch seine Werte wie diese:
Wenn Sie möchten, ein array als Antwort auf die sauberste Lösung ist die partition-Methode.
Nur
Hash.select
:Der Rückgabewert hängt davon ab, Ihre Ruby-version. Ruby 1.8 gibt ein array von arrays, in der Erwägung, dass Ruby 1.9 gibt einen hash wie im Beispiel oben.
Sollten Sie verwenden
group_by
auf diekeys
arrays und verwenden Sie den Wert als Gruppierungselement:Gibt einen hash-Wert der array-Schlüssel: