[Rails]配列で3件以上値が重複しているものだけ抽出する
2件以上重複とかは調べてすぐ見つけられたんですど、3件以上重複する値を抽出するものが見つけられなかったので、見つけたものを自分なりにカスタマイズにして作ってみました。
array = [1, 2, 3, 4, 5, 1, 3, 3, 5, 2, 2] array.inject(Hash.new(0)){|h, key| h[key] += 1; h}.map {|k,v| k if v >= 3}.compact #=> [2, 3]
お察しの通りv >= 3の整数部を変えることで何件以上にも指定できるので、
「配列でN件以上値が重複しているものだけ抽出する」とも言えます。
以上、ご参考になれば幸いです。