基于创建年份将对象的数组拆分为子数组

时间:2014-01-17 05:50:06

标签: ruby-on-rails ruby arrays ruby-on-rails-3 ruby-on-rails-3.2

我有一组像[obj1, obj2, obj3, obj4,......]这样的对象。每个对象都有自己创建的日期现在我希望将数组划分为具有相同创建年份的子数组,如obj1& obj3具有相同的创建年2013obj2& obj4有相同的创作年份,然后我想要一些像[[obj1,obj3],[obj2,obj4],...]这样的东西。如何将数组拆分为ruby中的子数组。感谢

1 个答案:

答案 0 :(得分:4)

根据您问题中的有限信息,我认为您需要这样的内容:

array.group_by { |o| o.created_at.year }.values

group_by执行分组但它会为您提供哈希值,因此您可以添加values值以将这些组拉出为数组数组。