我有一个数组:

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]]  


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!