2017-02-24 59 views
0

所以,我有2个阵列散列的,这是这个样子:红宝石比较2个阵列哈希值与按键的设置

arr1 = [{:tag=>"ABC_0001", :bocount=>100, :bocreated=>"2017-02-24T14:57:39.549-05:00"},{:tag=>"ABC_0002", :bocount=>50, :bocreated=>"2017-02-24T14:57:41.156-05:00"},{:tag=>"ABC_0003", :bocount=>10, :bocreated=>"2017-02-24T14:57:42.903-05:00"},{:tag=>"ABC_0004", :bocount=>12, :bocreated=>"2017-02-24T14:57:44.156-05:00"}] 

arr2 = [{:tag=>"ABC_0001", :bocount=>100, :bocreated=>"2017-01-24T14:57:39.549-05:00"},{:tag=>"ABC_0003", :bocount=>10, :bocreated=>"2017-01-24T14:57:42.903-05:00"},{:tag=>"ABC_0004", :bocount=>12, :bocreated=>"2017-01-24T14:57:44.156-05:00"},{:tag=>"ABC_0005", :bocount=>75, :bocreated=>"2017-01-24T14:57:41.156-05:00"}] 

我需要做的,就是从这些阵列中删除bocreated哈希值,完全。我需要为每个数组创建一个副本(得到这个),然后在新数组中,删除所有的bocreated哈希。

我已到处寻找,但似乎无法找到确切的。主要是关于删除某些值。

我尝试这样做:

oi_newset.each do |h| 
    h.delete("#{h[:bocreated]}") 
end 

但是当我输出阵列,这些散列仍然存在。

如果任何人都可以提供帮助,那就太棒了。

谢谢!

+0

标题似乎完全不相关的问题... – steenslag

回答

1

试试这个。

oi_newset.each do |h| 
    h.delete(:bocreated) 
end 

您需要删除密钥。

+0

谢谢!那很完美。在这里,我只是一个语法错误的白痴。 – missscripty

+0

干杯!很高兴我能帮上忙。 – Sean