Как найти индекс массива, который имеет максимальное значение

У меня есть массив элементов. Если я сделаю arr.max , я получу максимальное значение. Но я бы хотел получить индекс массива. Как найти его в Ruby

Например,

a = [3,6,774,24,56,2,64,56,34]
=> [3, 6, 774, 24, 56, 2, 64, 56, 34]
>> a.max
a.max
=> 774

Мне нужно знать индекс этого 774 , который равен 2 . Как мне это сделать в Ruby?

26
задан lennon310 21 October 2014 в 14:18
поделиться

3 ответа

a.index(a.max)  should give you want you want
33
ответ дан 28 November 2019 в 06:31
поделиться

В 1.8.7+ each_with_index.max вернет массив, содержащий максимальный элемент и его индекс:

[3,6,774,24,56,2,64,56,34].each_with_index.max #=> [774, 2]

В 1.8. 6 вы можете использовать enum_for, чтобы получить тот же эффект:

require 'enumerator'
[3,6,774,24,56,2,64,56,34].enum_for(:each_with_index).max #=> [774, 2]
28
ответ дан 28 November 2019 в 06:31
поделиться

это должно работать

[7,5,10,9,6,8].each_with_index.max
7
ответ дан 28 November 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: