一千萬個為什麽

搜索

Ruby:如何找到最小數組元素的索引?

有沒有辦法重寫這個更優雅?我認為,這是一段糟糕的代碼,應該重構。

>> a = [2, 4, 10, 1, 13]
=> [2, 4, 10, 1, 13]
>> index_of_minimal_value_in_array = a.index(a.min)
=> 3

最佳答案

我相信這只會遍歷數組一次並且仍然易於閱讀:

ary = [2,3,4,5,1]        # => [2,3,4,5,1]
ary.each_with_index.min  # => [1, 4]
                         # where 1 is the element and 4 is the index

轉載註明原文: Ruby:如何找到最小數組元素的索引?