[英]How can I sort this array of hashes using a secondary array of strings?
我有一系列看起来像这样的哈希:
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
,以便ID在freq_array
出现最多的用户首先在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哈希的格式错误。 已纠正。
user_array.sort_by { |user| freq_array.count(user["id"]) * -1 }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.