我有一个由几个哈希组成的阵列.我想找到特定键/值的最高值,并打印该哈希的名称值.例如,我有一个"学生"哈希数组,其中包含每个学生的信息.我想找出哪个学生的考试成绩最高并打印出他们的名字.对于下面的阵列,"Kate Saunders"的考试成绩最高,所以我想打印出她的名字.
任何帮助或指示开始这将是非常感谢.我现在有一个hacky工作,但我知道有更好的方法.我是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"
}
]
Run Code Online (Sandbox Code Playgroud)
Bar*_*dys 17
你可以使用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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |