Find difference between arrays in Ruby, where the elements are hashes -


i have 2 arrays of hashes find difference between. issue array elements single item hashes.

so far, using array1 - array2 appears working correctly need watch out gotchas here? hash elements read h = {'id' => '76322'}, numeric value differs hash hash, nothing fancy.

[edit]

here's i'm looking for:

array1 = [] array2 = []  h = {'id' => '76322'} array1.push(h)  h = {'id' => '7891'} array1.push(h) array2.push(h)  array1 = array1 - array2 # should result in array1 having single hash of values {'id', '76322'} 

array1 - array2 works putting elements of array2 temporary hash, returning elements of array1 don't appear in hash. hash elements compared using == determine whether match.

comparing 2 hashes == gives true if keys , values of hashes match using ==. so

h1 = {'id' => '7891'} h2 = {'id' => '7891'} h1 == h2 

evaluates true, though h1 , h2 different hashes, , corresponding elements correctly removed.

the consideration can think of if always have strings everywhere in hash keys , values. if integers, or symbols, {:id => 7891} aren't going results want, because :id == 'id' , '7891' == 7891 both false.


Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -