title: Returning values that only exist in two arrays of objects in vanilla JS?
body: <p>I have two arrays of objects that contain a set of similar items</p>
  
  <pre><code>arr1 = [ 
      {property1: 'foo', property2: 'bar', property3: 'baz'},
      {property1: 'moo', property2: 'bar', property3: 'maz'}
  ]
  
  arr2 = [
      {property2: 'bar', property3: 'maz'},
      {property2: 'bar', property3: 'santa'}
  ]
  </code></pre>
  
  <p>I need to write a function that takes the two object arrays as parameters. This function needs to return property1 of every object that matches the rest of the keys in array two.</p>
  
  <p>so, my function should take the two arrays above and return only 'moo'. I've been at this for hours and can not seem to problem solve it correctly.</p>
  
  <p><em>caveats</em>: I would like to understand the solution without resorting to libraries, <em>and</em> I would like to solve it using a functional approach, without vars or for loops. hopefully using reduce() map() &amp; filter() instead.</p>