bazı tuşları görmezden Nasıl/kesişir/farkını sağlamalarının iki dizilerden örneğin:sağlamalarının iki dizilerden birlik/kesişir/farkını almak ve birliğe almak istiyorum
array1 = [{:name =>'Guy1', :age => 45},{:name =>'Guy2', :age => 45}]
array2 = [{:name =>'Guy1', :age => 45},{:name =>'Guy3', :age => 45}]
...
p array1 - array2
=> [{:name=>"Guy2", :age=>45}]
p array2 - array1
=> [{:name=>"Guy3", :age=>45}]
p array1 | array2
=> [{:name=>"Guy1", :age=>45}, {:name=>"Guy2", :age=>45}, {:name=>"Guy3", :age=>45}]
ancak sadece adlarına göre karşılaştırmak ve örneğin sağlamalarının bunları kaldırmak gerek kalmadan yaş görmezden istediğinizde:
array1 = [{:name =>'Guy1', :age => 45},{:name =>'Guy2', :age => 45}]
array2 = [{:name =>'Guy1', :age => 46},{:name =>'Guy3', :age => 45}]
Bu durumda, yaşlarımın farklı olmasını istediğim sonuçları almıyorum.
array1 - array2
=> [{:name=>"Guy1", :age=>45}, {:name=>"Guy2", :age=>45}]
array2 - array1
=> [{:name=>"Guy1", :age=>46}, {:name=>"Guy3", :age=>45}]
array1 | array2
=> [{:name=>"Guy1", :age=>45}, {:name=>"Guy2", :age=>45}, {:name=>"Guy1", :age=>46}, {:name=>"Guy3", :age=>45}]
Sendika/kesişim/fark almanın ve yaş anahtarını yok saymanın bir yolu var mı?
düzenleme: Yardımlarınız için şimdiden
array1 = [{:name =>'Guy1', :age => 45},{:name =>'Guy2', :age => 45}]
array2 = [{:name =>'Guy1'},{:name =>'Guy3'}]
p array1 - array2
p array2 - array1
p array1 | array2
p array1 & array2
Teşekkür: Daha iyi bir örnek!
Beklenen sonuç, özellikle de:: yaşın değeri nedir? – sawa
Beklenen sonuç, "yaş" mevcut değildi. –
beklenen sonuç, ilk örnekte olduğu gibi olacaktır. –