在Ruby中对哈希的最内层哈希值排序散列哈希数组

use*_*792 0 ruby arrays hash

我有一系列哈希哈希如下:

[
        {
            "value"=>10,
            "inner_hash"=>{
                "name"=>"cc",
            }
        },
        {
            "value"=>14,
            "inner_hash"=>{
                "name"=>"vv",
            }
        },
        {
            "value"=>12,
            "inner_hash"=>{
                "name"=>"mm",
            }
        },
        {
            "value"=>11,
            "inner_hash"=>{
                "name"=>"pp",
            }
        }
    ]
Run Code Online (Sandbox Code Playgroud)

我想根据key 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",
            }
        }
    ]
Run Code Online (Sandbox Code Playgroud)

Ama*_*dan 8

foo.sort_by { |x| x['inner_hash']['name'] }
Run Code Online (Sandbox Code Playgroud)