どうも、ちょげ(@chogetarou)です。
sort_byメソッドを使って配列(array)を降順(大きい順)にソートして並び替える方法を紹介します。
方法

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
出力:
["LMNOP", "HIJK", "DEF", "BC", "A"]
使用例2
alp = ["DEF", "A", "LMNOP", "BC", "HIJK"]
alp.sort_by! { |item| -item.length }
p alp
出力:
["LMNOP", "HIJK", "DEF", "BC", "A"]
コメント