我有一系列哈希,如下所示:
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_array
,user_array
将是
user_array = [<#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">, <#Hashie::Mash id="1" name="Ben">]
最好的方法是什么?谢谢你的阅读。
编辑:我得到了user_array哈希的格式错误。已经纠正。答案 0 :(得分:5)
user_array.sort_by { |user| freq_array.count(user["id"]) * -1 }