Search code examples
ruby-on-railsarraysruby

How to determine if one array contains all elements of another array


Given:

a1 = [5, 1, 6, 14, 2, 8]

I would like to determine if it contains all elements of:

a2 = [2, 6, 15]

In this case the result is false.

Are there any built-in Ruby/Rails methods to identify such array inclusion?

One way to implement this is:

a2.index{ |x| !a1.include?(x) }.nil?

Is there a better, more readable, way?


Solution

  • a = [5, 1, 6, 14, 2, 8]
    b = [2, 6, 15]
    
    a - b
    # => [5, 1, 14, 8]
    
    b - a
    # => [15]
    
    (b - a).empty?
    # => false