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

配列(Array)の最小値を取得する方法は、2つあります。
min
1つは、minメソッドを使う方法です。
具体的な方法としては、「arr.min
」のように、ドットで配列からminメソッドを呼び出します。
#arr=対象の配列
min_value = arr.min
上記のminメソッドは、呼び出した配列(array)の最小値を取得します。
もし、最小値の比較対象を変更したい場合は、比較対象を返すブロックを渡します。
#比較対象を返すブロック, ブロックの引数で配列の要素を取得
min_value = arr.min { |item| item }
使用例
numbers = [1, 2, 3, 0, 4, 5]
min_value = numbers.min
puts min_value
出力:
0
min_by
もう1つは、min_byメソッドを使う方法です。
まず、配列からmin_byメソッドを呼び出します。
min_byメソッドに、1つの引数を持つブロックを渡します。
そして、ブロックで配列の要素同士で比較する値を返します。
#arr=対象の配列, {}内で比較対象を戻り値として返す
min_value = arr.min_by { |item| item }
上記のmin_byメソッドは、呼び出した配列(array)の比較対象の最小値を取得します。
使用例
numbers = ["1", "2", "3", "0", "4", "5"]
min_value = numbers.min_by { |item| item.to_i }
puts min_value
puts min_value.class
出力:
0
String
まとめ
配列(Array)の最大値を取得する方法は、2つあります。
- minメソッドを使う方法
min_value = arr.min
- min_byメソッドを使う方法
min_value = arr.min_by { |item| item }
コメント