繁体   English   中英

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

[英]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_arrayuser_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM