我有如下的哈希值。
myhash = {123=>["pizza", 9.99], 234=>["Bread", 132.0], 456=>["burgers", 5.24]}
我希望能够以某种方式让它只显示价格最高的物品,在这种情况下是面包。
所以结果与
相同
puts "234 Bread 132.0"
2 个答案:
答案 0 :(得分:4)
highest_priced_object = myhash.max_by { |id, (item, price)| price }
答案 1 :(得分:1)
Max_by接受一个块,您可以在其中定义您想要用于比较的值。在这种情况下,数组中的第二个(或最后一个)元素。
最后,join将所有内容连接成一个String。
myhash.max_by { |_, values| values.last }.join(' ')