我想从两个哈希数组中得到union/intersect/difference,例如:
array1 = [{:name =>'Guy1', :age => 45},{:name =>'Guy2', :age => 45}]
array2 = [{:name =>'Guy1', :age => 45},{:name =>'Guy3', :age => 45}]
Run Code Online (Sandbox Code Playgroud)
...
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}]
Run Code Online (Sandbox Code Playgroud)
但是,当我只想根据名称进行比较并忽略年龄而不需要从哈希中删除它们时,例如:
array1 = [{:name =>'Guy1', :age => 45},{:name =>'Guy2', :age => 45}]
array2 = [{:name =>'Guy1', :age => 46},{:name =>'Guy3', :age => 45}]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我没有得到我想要的结果b/c年龄不同.
array1 - array2
=> [{:name=>"Guy1", :age=>45}, {:name=>"Guy2", …Run Code Online (Sandbox Code Playgroud)