🌟

[Ruby] 複数キーを使ってHashをソートする

2021/06/12に公開

これはなに?

ハッシュが詰まった配列をハッシュの特定のキーでソートすることはあると思います。
では、ソートするキーが第一キー、第二キーと複数のキーでソートしたい場合、どうしたら良いのでしょうか?

こうする

hash_array.sort do |a, b|
  [a[:key1], a[:key2], -a[:key3], -a[:key4]] <=> [b[:key1], b[:key2], -b[:key3], -b[:key4]]
end

なお、何もつけないと昇順、-をつけると降順になります。

Discussion

ログインするとコメントできます