是否可以按子键的值对父哈希进行排序?
例如:
{
:a =>
{:order => 3},
:b =>
{:order => 1},
:c =>
{:order => 2}
}
Run Code Online (Sandbox Code Playgroud)
诉诸于
{
:b =>
{:order => 1},
:c =>
{:order => 2},
:a =>
{:order => 3}
}
Run Code Online (Sandbox Code Playgroud)
您可以将其转换为成对数组,使用sort_by
方法来定位要排序的值,然后将其转换回散列:
h = {
:a =>
{:order => 3},
:b =>
{:order => 1},
:c =>
{:order => 2}
}
h.sort_by {|k,v| v[:order]}.to_h
=> {:b=>{:order=>1}, :c=>{:order=>2}, :a=>{:order=>3}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
337 次 |
最近记录: |