我想找回基于运动和类型组合的一系列哈希

我有以下数组:

[
    { 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) }

10-04 21:59