根据这些元素删除嵌套的哈希元素'性能

时间:2015-06-24 22:14:36

标签: ruby-on-rails ruby

我有一些数据:

data = {
"total_records"=>3,
"records"=>
   [{"title"=>"Val1",
   "coins"=>1},
   {"title"=>"Val2",
   "coins"=>1},
   {"title"=>"Val3",
   "coins"=>1}]
}

如何删除包含title = 'Val1'||'Val2'的记录?

我尝试了以下几点:

@data.records.each_value do |e|
    if exceptions.include?(e.title)
      delete @envelopes.records.e
    end
  end

但我在@data.records上收到了无方法错误。

2 个答案:

答案 0 :(得分:2)

这么简单

data['records'].delete_if{ |h| %w(Val1 Val2).include?(h['title']) }

答案 1 :(得分:0)

你也可以这样做:

j