如何使用二级字符串数组对这个哈希数组进行排序?

时间:2010-12-12 11:53:07

标签: ruby-on-rails ruby

我有一系列哈希,如下所示:

user_array = [<#Hashie::Mash id="1" name="Ben">, <#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">]

我还有一个包含从外部源中提取的ID的数组:

freq_array = ["1","2","2","3","2","3"]

我需要使用freq_array订购user_array,以便freq_array中ID最多的用户位于user_array的第一位。因此,基于上述freq_arrayuser_array将是

user_array = [<#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">, <#Hashie::Mash id="1" name="Ben">]

最好的方法是什么?谢谢你的阅读。

编辑:我得到了user_array哈希的格式错误。已经纠正。

1 个答案:

答案 0 :(得分:5)

user_array.sort_by { |user| freq_array.count(user["id"]) * -1 }