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

Ruby

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

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

スポンサーリンク

方法

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

配列(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)の比較対象の最小値を取得します。

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

使用例

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 }

コメント

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