Comment trouver l'indice d'un tableau qui a une valeur maximale
J'ai un tableau d'éléments. Si je fais un arr.max
, j'obtiendrai la valeur maximale. Mais je voudrais obtenir l'index du tableau. Comment le trouver dans Ruby
Par exemple
a = [3,6,774,24,56,2,64,56,34]
=> [3, 6, 774, 24, 56, 2, 64, 56, 34]
>> a.max
a.max
=> 774
J'ai besoin de connaître l'indice de la 774
qui 2
. Comment puis-je faire cela dans Ruby?
26
demandé sur
lennon310
2010-08-21 23:40:32
3 réponses
Dans 1.8.7 + {[2] } retournera un tableau contenant l'élément maximum et son index:
[3,6,774,24,56,2,64,56,34].each_with_index.max #=> [774, 2]
Dans 1.8.6 vous pouvez utiliser enum_for
pour obtenir le même effet:
require 'enumerator'
[3,6,774,24,56,2,64,56,34].enum_for(:each_with_index).max #=> [774, 2]
26
répondu
sepp2k
2010-08-21 19:44:16
Cela devrait fonctionner
[7,5,10,9,6,8].each_with_index.max
7
répondu
Raoul Duke
2010-08-21 19:44:02