配列に格納されたハッシュの1つがblankのとき、その要素から削除したいと思っています。
作ったコードが冗長なので、delete_ifメソッドを使えばシンプルな形にできるかと思ったのですが、うまく使えなかったので教えていただけないでしょうか?
作ったコード
Ruby
1n = 0 2array_del = [] 3 4clap_params.each do 5 if clap_params[n][:claps_count].to_i.zero? # 0または''を判断 6 array_del << n 7 end 8 n += 1 9end 10 11array_del.sort.reverse.each do |del| 12 clap_params.delete_at(del) 13end
具体的には・・・配列clap_paramsの要素のハッシュの1つがclaps_count==""なら、その要素はclap_paramsから削除するという形です。
例えば下記のような場合だと
clap_params = [ <ActionController::Parameters {"post_id"=>"15", "claps_count"=>""} permitted: true>, <ActionController::Parameters {"post_id"=>"16", "claps_count"=>"1"} permitted: true>, <ActionController::Parameters {"post_id"=>"17", "claps_count"=>""} permitted: true>, <ActionController::Parameters {"post_id"=>"18", "claps_count"=>"1"} permitted: true> ]
以下のような形にしたいです。
clap_params = [ <ActionController::Parameters {"post_id"=>"16", "claps_count"=>"1"} permitted: true>, <ActionController::Parameters {"post_id"=>"18", "claps_count"=>"1"} permitted: true> ]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/31 01:36