gpt4 book ai didi

arrays - 将数组拆分为 x 个数组

转载 作者:数据小太阳 更新时间:2023-10-29 07:41:56 24 4
gpt4 key购买 nike

我有一个数组:

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

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

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

each_slice 做的与我想要的相反,而是将数组分成 x 个元素组。

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

如果可能,我想在不使用特定于 Rails 的方法(如 in_groups)的情况下执行此操作。

最佳答案

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

关于arrays - 将数组拆分为 x 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31402582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com