Finding what is common to two arrays

Is there a way to compare two arrays and show what is common to both of them?

array1 = ["pig", "dog", "cat"]
array2 = ["dog", "cat", "pig", "horse"]

What do I type to show that ["pig", "dog", "cat"] are common between these two arrays?


Solution 1:

You can intersect the arrays using &:

array1 & array2

This will return ["pig", "dog", "cat"].

Solution 2:

Set Intersection. Returns a new array containing elements common to the two arrays, with no duplicates, like:

["pig", "dog", "bird"] & ["dog", "cat", "pig", "horse", "horse"]
# => ["pig", "dog"]

You can also read a blog post about Array coherences