[Ruby]sort_byメソッドで配列(array)を昇順(小さい順)にソートして並び替えるには?

Ruby

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

sort_byメソッドを使って配列(array)を昇順(小さい順)にソートして並び替える方法を紹介します。

スポンサーリンク

方法

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

sort_byメソッドを使って配列(array)を昇順(小さい順)にソートして並び替えるには、ブロックを使います。

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

sort_byメソッドに比較対象を返すブロックを渡します。

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

#arr=対象の配列, x=比較対象
result = arr.sort_by { |item| x }

上記のsort_byメソッドは、配列(array)を比較対象で昇順(小さい順)にソートして並び替えた配列を生成します。

もし、新しい配列を生成せず、呼び出した配列を変更したい場合は、sort_by!メソッドを使います。

arr.sort_by! { |item| x }
スポンサーリンク

使用例

使用例1

alp = ["DEF", "A", "LMNOP", "BC", "HIJK"]

#配列の要素数でソート
result = alp.sort_by { |item| item.length }

p result
出力:
["A", "BC", "DEF", "HIJK", "LMNOP"]

使用例2

alp = ["DEF", "A", "LMNOP", "BC", "HIJK"]

alp.sort_by! { |item| item.length }

p alp
出力:
["A", "BC", "DEF", "HIJK", "LMNOP"]

コメント

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