どうも、ちょげ(@chogetarou)です。
配列(Array)の最大値を取得する方法を紹介します。
方法

配列(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)の比較対象の最大値を取得します。
使用例
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 }
コメント