2017-02-24 9 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ハッシュを削除しています。私は各配列のコピーを作る必要があります(それを持っている)、そして新しい配列で、作成されたすべてのハッシュを削除します。

私はどこにでも見ましたが、これを正確に見つけることはできません。主に特定の値を削除することについてです。

私はこれを試してみました:

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

関連する問題