当前位置:  开发笔记 > 编程语言 > 正文

返回2D Array的最大值

如何解决《返回2DArray的最大值》经验,为你挑选了1个好方法。

我有一个2D数组:

[["user1", 20], ["user2", 30], ["user3", 10]] 

子阵列的第一个元素是用户名,第二个元素是其得分.

我需要返回最高分的用户名.例如,它会返回"user2".

一个用户的分数较高,或者他们都有相同的分数(在这种情况下应该返回"all").

我知道如何通过一堆迭代和多行代码来实现这一点,但我正在努力寻找"最佳实践方式".

你会提出什么建议?



1> fl00r..:

查看max_by

users = [["user1", 20], ["user2", 30], ["user3", 10]]

users.max_by{ |user, weight| weight }
#=> ["user2", 30]

# shorthand
users.max_by(&:last)
#=> ["user2", 30]

users.max_by(&:last).first
#=> "user2"

值得一提的是,如果你有多个最大值,它将只返回第一个.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有