If you need to find out if one array contains any value from another array, here are a couple methods.


animals = ['cats','dogs','fish']
mammals = ['cats','elephants']
sea_creatures = ['fish','dolphins']

# Get the intersection
animals & mammals #=> ['cats']

# Method 1 - Fastest
(animals & mammals).empty? # false
(mammals & sea_creatures).empty? # true

# Method 2 - Readable
animals.any?{|x| mammals.include?(x)} # true
mammals.any?{|x| sea_creatures.include?(x)} # false


Related External Links: