从数组中查找最大数字并将字符串与它们相关联

时间:2015-07-27 03:05:11

标签: arrays ruby

我有两个包含人物信息的数组:

brad = ["Brad", 16]
andrew = ["Andrew", 43]

可以通过以下方式找到更大的数字:

max_num = [brad[1], andrew[1]].max

我希望将名称与最大值匹配,以便我可以说

puts "The max is #{max_num} and the record setter is #{name}"

我将如何实现这一目标?这必须适用于列出的两个以上的数组,因此if max_num == brad[1] else等的答案将无效。

1 个答案:

答案 0 :(得分:5)

你可以通过:

[brad, andrew].max_by { |k,v| v } # => ["Andrew", 43]

所以

name, max_num = [brad, andrew].max_by { |k,v| v }
puts "The max is #{max_num} and the record setter is #{name}"