当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何将数组拆分为n等于或接近相等的数组?》经验,为你挑选了1个好方法。

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

我有一个包含100个元素的数组.我想将它平均分成4个数组.这将给我4个阵列,每个25个元素.

我有一个包含100个元素的数组.我想将它平均分成3个数组.由于我无法将其均匀地分割为子数组,因此我需要类似于33个元素的2个数组和34个元素的一个数组.

我有一个包含2个元素的数组.我想将它平均分成4个数组.由于我无法均匀地拆分它并且某些数组将是空的,所以我想要2个1个数组和2个空数组的数组.

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

我怎样才能做到这一点?



1> sawa..:
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a.group_by.with_index{|_, i| i % 2}.values
# => [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]

a.group_by.with_index{|_, i| i % 3}.values
# => [[1, 4, 7, 10], [2, 5, 8], [3, 6, 9]]

a.group_by.with_index{|_, i| i % 4}.values
# => [[1, 5, 9], [2, 6, 10], [3, 7], [4, 8]]

a.group_by.with_index{|_, i| i % 5}.values
# => [[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]

a.group_by.with_index{|_, i| i % 6}.values
# => [[1, 7], [2, 8], [3, 9], [4, 10], [5], [6]]

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有