将数组拆分为最多三个元素的三个不同数组
Splitting array in three different arrays of maximum three elements
我有一个数组:
array = [12, 13, 14, 18, 17, 19, 30, 23]
我需要将这个数组分成最多三个元素的数组:
[12, 13, 14] [18, 17, 19] [30, 23]
我该怎么做?
看看Enumerable#each_slice:
foo.each_slice(3).to_a
#=> [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"], ["10"]]
如果您使用 rails,您还可以使用 in_groups_of:
foo.in_groups_of(3)
试试这个...
使用 Enumerable#each_slice
切片数组 x 值
array = [12, 13, 14, 18, 17, 19, 30, 23]
array.each_slice(3)
array.each_slice(3).to_a
到这个时候,我希望你得到你的答案。如果你正在使用 Rails,你可以使用 in_groups
,你不必显式地调用 to_a
:
array.in_groups(3)
# => [[12, 13, 14], [18, 17, 19], [30, 23, nil]]
array.in_groups(3, false)
# => [[12, 13, 14], [18, 17, 19], [30, 23]]
使用 in_groups
的另一个 优点 是,您可以(严格)保留数组大小。它将 fill_with
= nil
保持数组大小。
我有一个数组:
array = [12, 13, 14, 18, 17, 19, 30, 23]
我需要将这个数组分成最多三个元素的数组:
[12, 13, 14] [18, 17, 19] [30, 23]
我该怎么做?
看看Enumerable#each_slice:
foo.each_slice(3).to_a
#=> [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"], ["10"]]
如果您使用 rails,您还可以使用 in_groups_of:
foo.in_groups_of(3)
试试这个...
使用 Enumerable#each_slice
切片数组 x 值
array = [12, 13, 14, 18, 17, 19, 30, 23]
array.each_slice(3)
array.each_slice(3).to_a
到这个时候,我希望你得到你的答案。如果你正在使用 Rails,你可以使用 in_groups
,你不必显式地调用 to_a
:
array.in_groups(3)
# => [[12, 13, 14], [18, 17, 19], [30, 23, nil]]
array.in_groups(3, false)
# => [[12, 13, 14], [18, 17, 19], [30, 23]]
使用 in_groups
的另一个 优点 是,您可以(严格)保留数组大小。它将 fill_with
= nil
保持数组大小。