[Ruby]配列(array)の最大値を取得するには?

Ruby

どうも、ちょげ(@chogetarou)です。

配列(Array)の最大値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(Array)の最大値を取得する方法は、2つあります。

max

1つは、maxメソッドを使う方法です。

具体的な方法としては、「arr.max」のように、ドットでmaxメソッドを呼び出します。

#arr=対象の配列
max = arr.max

上記のmaxメソッドは、呼び出した配列(array)の最大値を取得します。

もし、最大値の比較対象を変更したい場合は、比較対象を返すブロックを渡します。

#比較対象を返すブロック, ブロックの引数で配列の要素を取得
max = arr.max { |item| item }

使用例

numbers = [1, 2, 3, 10, 4, 5]

max = numbers.max

puts max
出力:
10

max_by

もう1つは、max_byメソッドを使う方法です。

まず、配列からmax_byメソッドを呼び出します。

max_byメソッドに、1つの引数を持つブロックを渡します。

そして、ブロックで配列の要素同士で比較する値を返します。

#arr=対象の配列, {}内で比較対象を戻り値として返す
max = arr.max_by { |item| item }

上記のmax_byメソッドは、呼び出した配列(array)の比較対象の最大値を取得します。

max_byのブロックの引数は、配列の要素を取得します。

使用例

numbers = ["1", "2", "3", "10", "4", "5"]

max = numbers.max_by { |item| item.to_i }

puts max
puts max.class
出力:
10
String

まとめ

配列(Array)の最大値を取得する方法は、2つあります。

  • maxメソッドを使う方法
    max = arr.max
  • max_byメソッドを使う方法
    max = arr.max_by { |item| item }

コメント

タイトルとURLをコピーしました