加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将数组拆分为x数组

发布时间:2020-12-17 01:50:56 所属栏目:百科 来源:网络整理
导读:我有一个数组: arr1 = [1,2,3,4,5,6,7,8,9,10] 我想将arr1分成x个切片,其中每个切片尽可能完整且相等. arr2 = arr1.foo(3)# = [1,4][5,7][8,10] each_slice与我想要的相反,将数组分成x个元素组. arr2 = arr1.each_slice(3)# = [1,3][4,6][7,9][10] 如果可能
我有一个数组:

arr1 = [1,2,3,4,5,6,7,8,9,10]

我想将arr1分成x个切片,其中每个切片尽可能完整且相等.

arr2  = arr1.foo(3)
# => [1,4][5,7][8,10]

each_slice与我想要的相反,将数组分成x个元素组.

arr2 = arr1.each_slice(3)
# => [1,3][4,6][7,9][10]

如果可能的话,我想在不使用像in_groups这样的特定于rails的方法的情况下这样做.

解决方法

class Array
  def in_groups(n)
    len,rem = count.divmod(n)
    (0...n).map { | i | (i < rem) ? self[(len+1) * i,len + 1] : self[len * i + rem,len] }
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读