我想找回基于运动和类型组合的一系列哈希
我有以下数组:
[
{ sport: "football", type: 11, other_key: 5 },
{ sport: "football", type: 12, othey_key: 100 },
{ sport: "football", type: 11, othey_key: 700 },
{ sport: "basketball", type: 11, othey_key: 200 },
{ sport: "basketball", type: 11, othey_key: 500 }
]
我想回来:
[
{ sport: "football", type: 11, other_key: 5 },
{ sport: "football", type: 12, othey_key: 100 },
{ sport: "basketball", type: 11, othey_key: 200 },
]
我尝试使用(伪代码):
[{}, {}, {}].uniq { |m| m.sport and m.type }
我知道我可以用循环创建这样的数组,我对ruby还是很陌生,我很好奇是否有更好(更优雅)的方法可以做到这一点。
最佳答案
尝试使用Array#values_at生成一个数组作为uniq
的依据。
sports.uniq{ |s| s.values_at(:sport, :type) }