我有一个数组:
array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
如何对数组的每个 n 个元素进行分组?例如,对于 3:
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
我写了这段代码,但它很丑:
array.each_with_index.group_by { |e, i| i % 3}.map {|h| h[1].map { |e| e[0] }}
请您参考如下方法:
这里有一个简单的方法:
array.each_slice(3).to_a.transpose
#=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]