返回所有可以是多个的最大或最小值

2023-12-19

Enumerable#max_by and Enumerable#min_by return one当接收器中有多个最大/最小元素时,相关元素(大概是第一个)的。例如,以下内容:

[1, 2, 3, 5].max_by{|e| e % 3}

仅返回2(或仅5).

相反,我想返回all最大/最小元素和数组中的元素。在上面的例子中,它将是[2, 5] (or [5, 2])。获得这个的最好方法是什么?


arr = [1, 2, 3, 5]

arr.group_by{|a| a % 3} # => {1=>[1], 2=>[2, 5], 0=>[3]}
arr.group_by{|a| a % 3}.max.last # => [2, 5]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回所有可以是多个的最大或最小值 的相关文章

随机推荐