Array#uniq is a handy Ruby method that produces an array of distinct elements. So, for example, [1,2,3,3,3].uniq produces [1,2,3].
However, this fails on an array of hashes. For example, [{}, {}].uniq actually produces [{},{}]. That’s not what I wanted, recently.
It turns out that #uniq uses the methods #hash and #eql? to determine uniqueness, and Hash#hash produces [...]
Monthly Archives: January 2008
Uniquify an array of hashes in Ruby
January 18, 2008 – 9:06 pm