1

我有一个散列数组,其中每个散列包含一些键。我想检查是否有任何数量的哈希具有相同的 user_id。

一个示例如下所示:

[ {:id => 1, :user_id => 2, :location => nil, :facility_id => nil}
  {:id => 3, :user_id => 2, :location => 'China', :facility_id => 20} ]

在这种情况下,我需要它返回 true,其中两个哈希有一个共同的 user_id。我如何以“红宝石方式”做到这一点?

4

2 回答 2

4
arr = [ {:id => 1, :user_id => 2, :location => nil, :facility_id => nil},
  {:id => 3, :user_id => 2, :location => 'China', :facility_id => 20} ]
p arr != arr.uniq{|u| u[:user_id]} #=> true
于 2012-10-03T18:40:52.057 回答
3

试试这个:

a.map{|t| t[:user_id]}.uniq.size == a.size
于 2012-10-03T18:41:52.817 回答