arrays - 在 Ruby 的哈希数组中找到最大值

标签 arrays ruby hash

我有一个由多个散列组成的数组。我想找到特定键/值的最大值并打印该哈希的名称值。例如,我有一个“学生”哈希数组,其中包含每个学生的信息。我想找出哪个学生的考试成绩最高并打印出他们的名字。对于下面的数组,“Kate Saunders”的测试分数最高,所以我想打印出她的名字。

任何帮助或指示都将不胜感激。我现在有一个 hacky work around,但我知道有更好的方法。我是 Ruby 的新手并且很喜欢它,但是却被这个难住了。非常感谢!!!

students = [
    {
        name: "Mary Jones",
        test_score: 80,
        sport: "soccer"
    },
    {
        name: "Bob Kelly",
        test_score: 95,
        sport: "basketball"
    }.
    {
        name: "Kate Saunders",
        test_score: 99,
        sport: "hockey"
    },
    {
        name: "Pete Dunst",
        test_score: 88,
        sport: "football"
    }
]

最佳答案

你可以使用max_by方法

students = [ { name: "Mary Jones", test_score: 80, sport: "soccer" }, { name: "Bob Kelly", test_score: 95, sport: "basketball" }, { name: "Kate Saunders", test_score: 99, sport: "hockey" }, { name: "Pete Dunst", test_score: 88, sport: "football" } ]

students.max_by{|k| k[:test_score] }
#=> {:name=>"Kate Saunders", :test_score=>99, :sport=>"hockey"}

students.max_by{|k| k[:test_score] }[:name]
#=> "Kate Saunders"

关于arrays - 在 Ruby 的哈希数组中找到最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581381/

相关文章:

php - 现代 PHP 哈希算法

javascript - 我无法对数组中的数字进行排序(尝试了此处编写的所有内容,但仍然不起作用)

ruby-on-rails - Rails 4 - 如何在 postgres 上存储数组

javascript - 我想给每个数组元素一个数字

ruby-on-rails - 防止 Rails 2/3 缓存 Lib/Classes

javascript - 计算流的 sha1 哈希值但仍然使用该流?

c - 指向结构数组指针数组的二维数组

ruby - 在给定端口上启动和停止进程的更好方法

Ruby 函数删除所有空格?

perl - 引用数组和顺序