Ответ 1
См. решение min_by
в ответе ниже. Мой первоначальный ответ на этот вопрос был менее эффективным, как указано в комментарии.
a = {
1 => ["walmart", "walmart.com", 300.0],
2 => ["amazon", "amazon.com", 350.0],
...
}
Как найти элемент с наименьшим значением значения float в его массиве?
См. решение min_by
в ответе ниже. Мой первоначальный ответ на этот вопрос был менее эффективным, как указано в комментарии.
min_by
доступен как метод из модуля Enumerable
.
Он получает массив всех значений в Hash, а затем выбирает минимальное значение, основанное на последнем элементе каждого массива.
a.values.min_by(&:last)
Другим полезным методом является sort_by из модуля Перечислимый. Он упорядочит ваш хэш по возрастанию. Затем переместите метод first, чтобы получить самое низкое значение.
a.sort_by { |key, value| value }.first