【发布时间】:2012-06-23 00:24:27
【问题描述】:
嘿,我有一个哈希值数组,如下所示。
[{"group" => "1", "message" => "hey", "weight" => 1}, {"group" => "1", "message"
=> "hey1", "weight" => 2}, {"group" => "2", "message" => "hey3", "weight" => 4}]
我想按组分组并对其进行格式化,以便获得以下信息:
[{"group" => 1, "messages" => {"hey","hey1"}, "weights" => {1,2}}, {"group" => 2,
"messages" => {"hey3"}, "weights" => {4}}]
有没有很好的 ruby 方法来实现这一点?
编辑:现在我有了:
[
{"group" => "1", "message" => {"hey" => "1"}},
{"group" => "1", "message" => {"hey1" => "2"}}
]
我想要
{"group" => "1", "messages" => {"hey1" => "1", "hey2" => "2"} }
【问题讨论】:
-
你的意思是
[{"group" => 1, "messages" => ["hey","hey1"], "weights" => [1,2]}? -
你的意思是消息和权重的数组,对吧,假设它们的顺序相同?就个人而言,我只是关闭组,并将消息和权重作为一个完整的对象保留,以避免任何混淆。
-
是的,我将 msg 和 weight 作为自己的对象,所以现在我有以下
[{"group" => "1", "message" => {"hey" => "1"}}, {"group" => "1", "message" => {"hey1" => "2"}}]我想要[{"group" => "1", "messages" => {"hey1" => "1", "hey2" => 2"}] -
您的需求未明确。
[{a:1},{a:2}]或[{a:1},{b:2}]或[{a:{b:3}},{a:{b:3}}]或[{a:{b:3}},{a:{b:4}}]你想要什么?