gpt4 book ai didi

mysql - 分割除奇数/偶数以外的数组的方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:10:41 26 4
gpt4 key购买 nike

这是我有用户帖子,我想将它们分成 3 个,但所有想到的都是奇数/偶数,如下所示:

@Post1 = Post.where('post_id % 2 = 0')
@post2 = Post.where('post_id % 2 != 0')

有没有办法添加 @post3 并将帖子分成 3 个类别。这是出于研究目的,谢谢..

最佳答案

你可以这样做:

@Post1 = Post.where('post_id % 3 = 0')
@post2 = Post.where('post_id % 3 = 1')
@post3 = Post.where('post_id % 3 = 2')

这与偶数/奇数的方法相同。% 运算符返回除法的模数,因此您可以将其扩展为您想要的任何数字。无论如何,不​​要认为这是一个好方法,特别是如果你的组数太高。我建议使用 in_groups_of ( https://apidock.com/rails/Array/in_groups_of ) 方法。

在您的情况下,您可以像这样使用 in_groups_of:

@posts = Post.all.in_groups_of((Post.count.to_f/3).ceil, false)

像那样,你可以这样赋值:

@Post1 = @posts[0]
@post2 = @posts[1]
@post3 = @posts[2]

或者,我认为更好的方法是只分配您的@posts 变量。然后,在您看来,您可以像这样迭代它:

- @posts.each do |group_of_posts|
- group_of_posts.each do |post|
# do whatever you want

这样,您的代码就会变得更加简洁和易于维护。祝你好运!

关于mysql - 分割除奇数/偶数以外的数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49804117/

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