例如,如果给定一个包含 22 个哈希的数组,并且您希望将每 4 个哈希分组到一个新数组中,该数组也在另一个数组下。最后 2 个元素也将在一个单独的数组中(对于边缘情况)
我已经知道 ghetto 这样做的方式,但由于 Ruby 如此优雅且功能强大,因此必须有一种方法(一个或两个)来做到这一点。
谢谢。
例如,如果给定一个包含 22 个哈希的数组,并且您希望将每 4 个哈希分组到一个新数组中,该数组也在另一个数组下。最后 2 个元素也将在一个单独的数组中(对于边缘情况)
我已经知道 ghetto 这样做的方式,但由于 Ruby 如此优雅且功能强大,因此必须有一种方法(一个或两个)来做到这一点。
谢谢。
你需要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]]