2014-04-25 106 views
0

最裏面的散列的價值我有散列的散列的數組像以下:排序哈希散列陣列相對於在Ruby中

[ 
     { 
      "value"=>10, 
      "inner_hash"=>{ 
       "name"=>"cc", 
      } 
     }, 
     { 
      "value"=>14, 
      "inner_hash"=>{ 
       "name"=>"vv", 
      } 
     }, 
     { 
      "value"=>12, 
      "inner_hash"=>{ 
       "name"=>"mm", 
      } 
     }, 
     { 
      "value"=>11, 
      "inner_hash"=>{ 
       "name"=>"pp", 
      } 
     } 
    ] 

我想根據的inner_hash的價值這個數組排序name鍵。我如何在Ruby中做到這一點?

預期輸出:

[ 
     { 
      "value"=>10, 
      "inner_hash"=>{ 
       "name"=>"cc", 
      } 
     }, 
     { 
      "value"=>12, 
      "inner_hash"=>{ 
       "name"=>"mm", 
      } 
     }, 
     { 
      "value"=>11, 
      "inner_hash"=>{ 
       "name"=>"pp", 
      } 
     }, 
     { 
      "value"=>14, 
      "inner_hash"=>{ 
       "name"=>"vv", 
      } 
     } 
    ] 

回答

8
foo.sort_by { |x| x['inner_hash']['name'] }