Получите самый большой хэш в массиве хэшей - PullRequest
0 голосов
/ 25 сентября 2018

Что у меня есть: массив хешей с разными размерами.

hashes = [{:a => 0}, {:a => 0, :b => 1}, {:b => 1}] 

Что мне нужно: мне просто нужен самый большой элемент.

{:a => 0, :b => 1}

Это правильный подход или это неэффективно?

hashes.sort_by { |h| h.length }.last

Или есть другие идеи?Спасибо!

1 Ответ

0 голосов
/ 25 сентября 2018

Ваше решение работает нормально, но вы также можете использовать max_by, оно кажется более эффективным:

hashes.max_by(&:length)
#=> {:a=>0, :b=>1}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...