相关疑难解决方法(0)

如何将Ruby数组拆分(块)成X个元素的一部分?

我有一个阵列

foo = %w(1 2 3 4 5 6 7 8 9 10)
Run Code Online (Sandbox Code Playgroud)

如何将其拆分或"分块"为更小的数组?

class Array
  def chunk(size)
    # return array of arrays
  end
end

foo.chunk(3)
# => [[1,2,3],[4,5,6],[7,8,9],[10]]
Run Code Online (Sandbox Code Playgroud)

ruby arrays

167
推荐指数
2
解决办法
11万
查看次数

将数组拆分为红宝石中的相等部分

我需要一种方法将数组拆分为另一个大小相等的数组中的一堆数组.有人有任何方法吗?

例如

a = [0, 1, 2, 3, 4, 5, 6, 7]
a.method_i_need(3)
a.inspect
    => [[0,1,2], [3,4,5], [6,7]]
Run Code Online (Sandbox Code Playgroud)

ruby arrays ruby-on-rails ruby-1.8.7

54
推荐指数
4
解决办法
5万
查看次数

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

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

arr = [4, 5, 6, 7, 8, 4, 45, 11]
Run Code Online (Sandbox Code Playgroud)

我想要一种奇特的方法

sub_arrays = split (arr, 3)
Run Code Online (Sandbox Code Playgroud)

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

Note: This question is not a duplicate of "How to chunk an array" The chunk question is asking about processing in batches and this question is about splitting arrays.

ruby arrays

30
推荐指数
2
解决办法
2万
查看次数

如何将数组拆分为n等于或接近相等的数组?

我有一个大型数组,我想将其均匀地分成n个数组.

  • 我有一个包含100个元素的数组.我想将它平均分成4个数组.这将给我4个阵列,每个25个元素.
  • 我有一个包含100个元素的数组.我想将它平均分成3个数组.由于我无法将其均匀地分割为子数组,因此我需要类似于33个元素的2个数组和34个元素的一个数组.
  • 我有一个包含2个元素的数组.我想将它平均分成4个数组.由于我无法均匀地拆分它并且某些数组将是空的,所以我想要2个1个数组和2个空数组的数组.

我尝试使用each_slice,但只根据传递给它的数字参数将数组切成小部分.

我怎样才能做到这一点?

ruby arrays

0
推荐指数
1
解决办法
192
查看次数

标签 统计

arrays ×4

ruby ×4

ruby-1.8.7 ×1

ruby-on-rails ×1