Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3-如何按重复数对数组排序_Ruby On Rails_Arrays_Sorting - Fatal编程技术网

Ruby on rails Rails 3-如何按重复数对数组排序

Ruby on rails Rails 3-如何按重复数对数组排序,ruby-on-rails,arrays,sorting,Ruby On Rails,Arrays,Sorting,对不起,我想我的问题是 假设我有一组带有用户id和评论id的帖子评论员 例如: 1-27 2-31 1-54 3-87 1-12 2-54 如果我想根据用户的评论数量对其进行排名,我必须计算他们评论的次数,然后.uniq it 我该怎么做? 我知道如何统一它: unique_user_list = array.uniq {|s| s.user_id} 我知道如何计算阵列中的重复项: array.count { |u| u.name == unique_user_list.name } # i


对不起,我想我的问题是

假设我有一组带有用户id和评论id的帖子评论员
例如:
1-27
2-31
1-54
3-87
1-12
2-54

如果我想根据用户的评论数量对其进行排名,我必须计算他们评论的次数,然后.uniq it

我该怎么做?

我知道如何统一它:

unique_user_list = array.uniq {|s| s.user_id}
我知道如何计算阵列中的重复项:

array.count { |u| u.name == unique_user_list.name  } # in a loop of user
但我不知道如何根据重复的数量进行混合和排序。。。
谢谢大家!

编辑

好的,多亏了floatless,我现在看到了一些更具体的东西——通过使用quimby gem的foursquare api的一个真实示例:

- current_user.all_checkins.group_by(&:venue["id"]).first(50).each do |c|
  = c.venue.id
唯一的问题是,它没有。。。。小组

有什么想法吗?

我认为您应该在SQL查询中使用
GROUP BY
子句来实现这一点,然后只计算
分组注释

我的示例是一个虚拟示例-我从api获得一个数组,不要认为group_by在这里起作用。。。