写一个方法来检查一定数量的数组元素是否匹配是一个简单的方法。例如
["dog", "cat", "dog", "dog"].has_matching(3)
# true
和
["dog", "cat", "dog", "cat"].has_matching(3)
# false
理想情况下,被比较对象的类别无关紧要。
最佳答案
您可以在Array
中添加一个方法:
class Array
def check_if_minimum_duplicates(min_dup)
group_by{|el| el }.any?{|k, v| v.count >= min_dup }
end
end
像这样使用:
irb(main):006:0> puts ["dog", "cat", "dog", "dog"].check_if_minimum_duplicates(3)
true
=> nil
irb(main):007:0> puts ["dog", "cat", "dog", "cat"].check_if_minimum_duplicates(4)
false
=> nil
关于ruby - 找出指定数量的数组元素是否匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26502418/