我需要一個基於每個散列的特定鍵的散列數組。例如,藉此:基於特定鍵的散列陣列
[
[0] {
:status => "pending",
:x => 1,
:y => 2
},
[1] {
:status => "pending",
:x => 33,
:y => 74
},
[2] {
:status => "done",
:x => 33,
:y => 74
}
]
我需要將其轉換爲這樣的:
{
"pending" => [
[0] {
:status => "pending",
:x => 1,
:y => 2
},
[1] {
:status => "pending",
:x => 33,
:y => 74
}
],
"done" => [
[0] {
:status => "done",
:x => 33,
:y => 74
}
]
}
我的分組由數組:狀態鍵。我已經這樣做了(它的工作原理):
a.inject({}) {|a, b| (a[b[:status]] ||= []) << b; a }
但是,有一個更簡單,更隱祕的一行,可以做同樣的事情?
你不行嗎? – 2013-04-10 08:00:51