Ruby 如何在rails中对包含哈希的数组或哈希进行排序?
我不熟悉rails。如何对我的哈希数组中的总潜在客户进行排序。总Lead最大值应排在第一位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,
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){…}
获得了您的基准测试。