Ruby 如何在rails中对包含哈希的数组或哈希进行排序?

Ruby 如何在rails中对包含哈希的数组或哈希进行排序?,ruby,Ruby,我不熟悉rails。如何对我的哈希数组中的总潜在客户进行排序。总Lead最大值应排在第一位 Array = [ { "project_name"=>"Godrej United", "lead_stats"=>{ "total_leads"=>1, "untouched_leads"=>0, "dumped_leads"=>1, "not_responding"=>0,

我不熟悉rails。如何对我的哈希数组中的总潜在客户进行排序。总Lead最大值应排在第一位

Array  = [
  {
    "project_name"=>"Godrej United",
    "lead_stats"=>{ 
       "total_leads"=>1, 
       "untouched_leads"=>0, 
       "dumped_leads"=>1, 
       "not_responding"=>0, 
       "switched_off"=>0, 
       "hot_leads"=>1, 
       "cold_leads"=>1, 
       "warm_leads"=>0
     },
     "project_id"=>2
   },
   {
     "project_name"=>"Golden Panorama", 
     "lead_stats"=>{
       "total_leads"=>5, 
       "untouched_leads"=>0, 
       "dumped_leads"=>1, 
       "not_responding"=>0, 
       "switched_off"=>0, 
       "hot_leads"=>0, 
       "cold_leads"=>0, 
       "warm_leads"=>0
     }, 
     "project_id"=>10
   }
 ]

按如下方式对数组进行排序

Array.sort_by {|x|x['lead_stats']['total_leads']}.reverse
Array.sort_by {|x| -x['lead_stats']['total_leads'] }

您可以按如下方式进行操作

Array.sort_by {|x|x['lead_stats']['total_leads']}.reverse
Array.sort_by {|x| -x['lead_stats']['total_leads'] }
答案如下:

Array.sort { |a,b| b['lead_stats']['total_leads'] <=> a['lead_stats']['total_leads'] }
Array.sort{a,b | b['lead_stats']['total_leads']a['lead_stats']['total_leads']

将块中的
a
b
替换为相反顺序。

请检查我的更新answer@Vishal是的,我已经从…或
Array.max_by(Array.size){…}
获得了您的基准测试。