【发布时间】:2014-11-22 03:17:38
【问题描述】:
我正在尝试获取这个哈希值数组...
items => [{:name=>"item a", :count=>1, :contributors=>["51db6d58bd02861e96000004"]},
{:name=>"item b", :count=>1, :contributors=>["51db6d58bd02861e96000004"]},
{:name=>"item a", :count=>1, :contributors=>["51db6d58bd02861e96000004"]},
{:name=>"item b", :count=>1, :contributors=>["51db6d58bd02861e96000004"]},
{:name=>"item c", :count=>1, :contributors=>["51db6d58bd02861e96000004"]},
{:name=>"item d", :count=>1, :contributors=>["51db6d58bd02861e96000004"]}]
并获得如下所示的输出...
items => [{:name=>"item a", :count=>2, :contributors=>["51db6d58bd02861e96000004", "51db6d58bd02861e96000004"]},
{:name=>"item b", :count=>2, :contributors=>["51db6d58bd02861e96000004, 51db6d58bd02861e96000004"]},
{:name=>"item c", :count=>1, :contributors=>["51db6d58bd02861e96000004"]},
{:name=>"item d", :count=>1, :contributors=>["51db6d58bd02861e96000004"]}]
我想按名称分组并合并计数和贡献者,如上图所示。我怎么做? group_by,减少?有人可以发一个例子吗?
【问题讨论】:
-
请展示您到目前为止尝试过的内容。
-
什么是
items =>?那部分使您的表达无效。 -
你的意思是
items = [ ... ]吗? -
您选择了@falsetru 的答案(不错的选择),但没有支持他的答案。只是想让你知道你可以同时做这两件事,以防你不知道。
标签: ruby arrays hash enumerable