как сортировать, фильтровать json данные в ruby? - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть массив json, который я получаю от API (пример ниже). скажем, я хочу отсортировать данные по возрасту, а также выбрать первые 5 из них, как я могу сделать это в ruby?

[  
    {"name":"Richard", "email":"r@gmail.com", "age" : "32"},  
    {"name":"Bob", "email":"bob32@gmail.com", "age" : "52"}, 
    ....
]  

1 Ответ

2 голосов
/ 08 апреля 2020

Допустим, ваш массив

arr=[

    {"name"=>"Richard", "email"=>"r@gmail.com", "age" => "32"},
    {"name"=>"Bob", "email"=>"bob32@gmail.com", "age" => "52"},
    {"name"=>"Bob", "email"=>"bob32@gmail.com", "age" => "21"},
    {"name"=>"Bob", "email"=>"bob32@gmail.com", "age" => "58"},
    {"name"=>"Bob", "email"=>"bob32@gmail.com", "age" => "45"},
    {"name"=>"Bob", "email"=>"bob32@gmail.com", "age" => "67"},
    {"name"=>"Bob", "email"=>"bob32@gmail.com", "age" => "92"}
]

Код

p arr.sort_by{|h|h['age']}.first(5)
#=>[{"name"=>"Bob", "email"=>"bob32@gmail.com", "age"=>"21"}, {"name"=>"Richard", "email"=>"r@gmail.com", "age"=>"32"}, {"name"=>"Bob", "email"=>"bob32@gmail.com", "age"=>"45"}, {"name"=>"Bob", "email"=>"bob32@gmail.com", "age"=>"52"}, {"name"=>"Bob", "email"=>"bob32@gmail.com", "age"=>"58"}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...