首页 > 解决方案 > Ruby - 从带有索引的数组中选择多个最大值

问题描述

假设我有一个数组 = [22, 55, 55, 16] 我想从数组中挑选出最大值及其索引。

标签: arraysrubyindexingmax

解决方案


只需使用max查找最大值和index/rindexselect查找索引取决于您需要哪种索引

array = [22, 55, 55, 16] 
max_val = array.max # 55
first_indedx = array.index(max_val) # 1 - first index
index = array.rindex(max_val) # 2 - last index
array.each_index.select{|i| array[i] == max_val} # [1, 2] - all indexes

您可以在此处找到有关方法的更多详细信息:https ://ruby-doc.org/core-2.7.0/Array.html


推荐阅读