Ruby on rails 如何使用字符串的辅助数组对哈希数组进行排序?

Ruby on rails 如何使用字符串的辅助数组对哈希数组进行排序?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个哈希数组,如下所示: user_array = [<#Hashie::Mash id="1" name="Ben">, <#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">] 我需要使用freq\u array来订购user\u array,以便ID在freq\u array中出现最多的用户在user\u array中位于第一位。因此,基于上述freq\u数组

我有一个哈希数组,如下所示:

user_array = [<#Hashie::Mash id="1" name="Ben">, <#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">]
我需要使用
freq\u array
来订购
user\u array
,以便ID在
freq\u array
中出现最多的用户在
user\u array
中位于第一位。因此,基于上述
freq\u数组
user\u数组

user_array = [<#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">, <#Hashie::Mash id="1" name="Ben">]
user\u数组=[,]
最好的方法是什么?谢谢你的阅读


编辑:我把用户数组散列的格式搞错了。已更正。

user_array.sort_by{user |-freq_array.count(user[“id]”)}
更短;)我也可以让它更具可读性:
user_array.sort_by{| user | freq_array.count(user[“id]”)count}。reverse
它速度较慢,但更清楚地显示了正在发生的事情,我想知道答案。计数正常,但用户_数组实际上根本没有被订购。我意识到user_数组中的每个条目实际上与我在问题中显示的内容略有不同。我编辑了这个问题来反映这一点。别担心,我犯了个愚蠢的错误。谢谢大家!当使用可枚举的#sort和sort_by时,我总是错过了一个“反向”布尔选项。
user_array.sort_by{user |-freq_array.count(user[“id]”)}
更短;)我也可以让它更具可读性:
user_array.sort_by{| user | freq_array.count(user[“id]”)count}。reverse
它速度较慢,但更清楚地显示了正在发生的事情,我想知道答案。计数正常,但用户_数组实际上根本没有被订购。我意识到user_数组中的每个条目实际上与我在问题中显示的内容略有不同。我编辑了这个问题来反映这一点。别担心,我犯了个愚蠢的错误。谢谢大家!在使用可枚举的#sort和sort#u by时,我总是错过了一个“反向”布尔选项。
user_array.sort_by { |user| freq_array.count(user["id"]) * -1 }
user_array.sort_by { |user| freq_array.count(user["id"]) * -1 }