需要在 Ruby 中将数组拆分为指定大小的子数组[重复]

2023-12-30

我有一个类似这样的数组:

arr = [4, 5, 6, 7, 8, 4, 45, 11]

我想要一个像这样的奇特方法

sub_arrays = split (arr, 3)

这应该返回以下内容:[[4, 5, 6], [7,8,4], [45,11]]

注意:这个问题不是“如何对数组进行分块”的重复。 chunk 问题是关于批量处理的,而这个问题是关于分割数组的。


arr.each_slice(3).to_a

each_slice返回一个 Enumerable,所以如果这对你来说足够了,你不需要调用to_a.

在1.8.6中你需要做:

require 'enumerator'
arr.enum_for(:each_slice, 3).to_a

如果您只需要迭代,您可以简单地执行以下操作:

arr.each_slice(3) do |x,y,z|
  puts(x+y+z)
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要在 Ruby 中将数组拆分为指定大小的子数组[重复] 的相关文章

随机推荐