在许多部分拆分数组

时间:2014-09-23 22:46:09

标签: ruby-on-rails ruby

在Rails 3.2应用程序中,我有一个类似的数组:

arr = ["a", "b", "c", "d", "e"]

我想把它分成3个部分:

[["a", "b"], ["c", "d"], ["e"]]

我想要一个函数来拥有这个数组的第一部分。

我一直想要3个部分。所以,如果我有:

["a", "b", "c", "d", "e", "f", "g", "h"]

我希望:

[["a", "b", "c"], ["d", "e", "f"], ["g", "h"]]

你有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

["a", "b", "c", "d", "e"].in_groups_of(2, false)
# => [["a", "b"], ["c", "d"], ["e"]]

如果你总是想要3个部分,那就应该这样做

parts_count = 3
group_count = arr.length.fdiv(parts_count).ceil
arr.in_groups_of(group_count, false)
# => [["a", "b"], ["c", "d"], ["e"]]

更多信息here