如何在Ruby中聚集数组中的每个n元素?

时间:2013-05-24 20:38:33

标签: ruby

例如,如果给出一个包含22个哈希的数组,并且您希望将每4个哈希分组到一个新数组中,该数组也在另一个数组下。最后两个元素也将在一个单独的数组中(对于边缘情况)

我已经知道这样做的贫民窟方式,但由于Ruby非常优雅且功能强大,因此必须有一种方法(一个或两个衬里)来做到这一点。

感谢。

1 个答案:

答案 0 :(得分:9)

您需要each_slice

arr = (1..10).to_a

arr # => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

arr.each_slice(4).to_a # => [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]