[解決済み] ハッシュの配列をハッシュの値でソートするにはどうしたらいいですか?
2022-07-17 21:03:43
質問
このRubyのコードは、私が期待するような動作をしてくれません。
# create an array of hashes
sort_me = []
sort_me.push({"value"=>1, "name"=>"a"})
sort_me.push({"value"=>3, "name"=>"c"})
sort_me.push({"value"=>2, "name"=>"b"})
# sort
sort_me.sort_by { |k| k["value"]}
# same order as above!
puts sort_me
私はキー "value" によってハッシュの配列をソートしたいのですが、それらはソートされていない状態で印刷されます。
どのように解決するのですか?
Rubyの
sort
はインプレースでソートしません。(もしかしたらPythonの素養があるのでしょうか?)
Rubyには
sort!
を実装しています。
sort_by
に対するインプレースバリアントはありません。実際には、できます。
sorted = sort_me.sort_by { |k| k["value"] }
puts sorted
Ruby 1.9+の時点では
.sort_by!
はインプレースソートで利用可能です。
sort_me.sort_by! { |k| k["value"]}
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 多次元配列の値によるソート方法
-
[解決済み] PHP 配列をキーではなく値で削除する
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み] Rubyの理想的なプロジェクト構造
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] なぜsumはinject(:+)よりもずっと速いのですか?
-
[解決済み] Rubyでシングルクォートとダブルクォートを使い分けるとパフォーマンスが上がりますか?
-
[解決済み] Rubyの文字列の中から"˶‾‾‾˵"を削除するにはどうしたらいいですか?
-
[解決済み] Rubyの継承とミキシンの比較
-
[解決済み] 現在の日時をDD/MM/YYYY HH:MM形式で取得するにはどうすればよいですか?
-
[解決済み] Gemfileでrubygemを指定するときの~>と>=の違いは何ですか?
-
[解決済み] Hash each ループでインデックスにアクセスすることは可能ですか?
-
[解決済み] JSONファイルへの正しい書式での書き込み方法
-
[解決済み] ルビー 負の数を正の数に変換する?
-
[解決済み] rubyのinjectはreduceと同じ意味ですか?