[解決済み] ハッシュの配列を単一ハッシュにマッピングするRails
2022-02-14 06:53:35
質問
このようなハッシュの配列があります。
[{"testPARAM1"=>"testVAL1"}, {"testPARAM2"=>"testVAL2"}]
そして、これをシングルハッシュにマッピングしようとすると、次のようになります。
{"testPARAM2"=>"testVAL2", "testPARAM1"=>"testVAL1"}
を使って実現しました。
par={}
mitem["params"].each { |h| h.each {|k,v| par[k]=v} }
しかし、もっと慣用的な方法で(できればローカル変数を使わずに)これを行うことはできないかと考えていました。
どうすればいいのでしょうか?
どのように解決するのですか?
を構成することができます。
Enumerable#reduce
と
Hash#merge
を使えば、やりたいことが実現できます。
input = [{"testPARAM1"=>"testVAL1"}, {"testPARAM2"=>"testVAL2"}]
input.reduce({}, :merge)
is {"testPARAM2"=>"testVAL2", "testPARAM1"=>"testVAL1"}
配列を縮小することは、配列の各要素の間にメソッドコールを張り付けるようなものです。
例えば
[1, 2, 3].reduce(0, :+)
は、次のように言います。
0 + 1 + 2 + 3
であり
6
.
私たちの場合は、似たようなことをしますが、merge関数を使って、2つのハッシュをマージします。
[{:a => 1}, {:b => 2}, {:c => 3}].reduce({}, :merge)
is {}.merge({:a => 1}.merge({:b => 2}.merge({:c => 3})))
is {:a => 1, :b => 2, :c => 3}
関連
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] Ruby on rails "No route matches" (ルートに一致するものがない)。
-
[解決済み] Rubyで配列を降順にソートする方法
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] 未初期化の定数 "コントローラ名"
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] JavaScriptでオブジェクトの配列から明確な値を取得する方法は?
-
[解決済み] Ruby/RailsでHashからキーを削除して残りのHashを取得する方法は?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み】Rails 4 RoutingError: ルートが一致しない[POST]。
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] RubyとRailsの "Date.today "フォーマット
-
[解決済み] レイル 4 radio_button_tag default not selected
-
[解決済み] Ruby on Rails の新規セットアップ : "Expected string default value for '--rc'; got false (boolean)".
-
[解決済み] Rubyで配列をハッシュに変換する最良の方法は何ですか?