jbk*_*jbk 2 ruby enumerable comparable
我有这个嵌套数组:
[[1, 2, 3],
[1, 3, 6],
[1, 4, 12],
[1, 5, 5],
[1, 2, 3],
[1, 8, 7],
[2, 3, 3],
[2, 4, 9],
[2, 5, 2],
[2, 8, 4],
[3, 4, 6],
[3, 8, 1],
[5, 8, 2],
[2, 8, 4],
[7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)
我试图找到一种简洁但可读的方式:
我尝试过各种方法,例如,,,,但没有成功#max,#max_by但#group_by我#with_index现在正处于这样一个阶段,我可以从比我更有能力的大脑和程序员那里得到一些启发。
查找最后一个元素具有最大值的嵌套数组:
input = [[1, 2, 3], [1, 3, 6], [1, 4, 12], [1, 5, 5], [1, 2, 3], [1, 8, 7], [2, 3, 3], [2, 4, 9], [2, 5, 2], [2, 8, 4], [3, 4, 6], [3, 8, 1], [5, 8, 2], [2, 8, 4], [7, 8, 9]]
input.max_by(&:last)
#=> [1, 4, 12]
Run Code Online (Sandbox Code Playgroud)
并且只返回前两个值:
input.max_by(&:last).take(2)
#=> [1, 4]
Run Code Online (Sandbox Code Playgroud)