以块的形式翻转数组

时间:2013-07-18 21:48:21

标签: ruby arrays

我需要以指定大小的块来反转数组。以下是需要发生的事情的示例:

chunk = 2
arr = [1,2,3,4,5]

如何构建一个像这样反转块的数组:

[2, 1, 4, 3, 5]

我的代码:

arr.each_slice(chunk) { |a| p a }

输出:

[1,2]
[3,4]
[5]

上面的每个块都需要反转并附加到最​​终数组中,如上所示。

1 个答案:

答案 0 :(得分:2)

arr = [1,2,3,4,5]
arr.each_slice(2).flat_map(&:reverse)
# => [2, 1, 4, 3, 5]