geri spor ve tip kombinasyonuna dayalı karma bir dizi almak istiyorumYakut, birden çok alanda dayalı dizide benzersiz karmaları
aşağıdaki dizisi var:
[
{ 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 }
]
ben 'geri almak istiyorum:
[
{ sport: "football", type: 11, other_key: 5 },
{ sport: "football", type: 12, othey_key: 100 },
{ sport: "basketball", type: 11, othey_key: 200 },
]
ben kullanmaya çalıştı (pseudocode):
[{}, {}, {}].uniq { |m| m.sport and m.type }
Döngülerle böyle bir dizi oluşturabileceğimi biliyorum, yakut için oldukça yeni ve bunu yapmak için daha iyi (daha zarif) bir yol varsa merak ediyorum.
Evet, 'bir blok ile uniq' gitmek yoldur, ama burada başka bir yol:' arr.group_by {| h | [h [: spor], h [: tür]]} .values.map (&: ilk) '. –