Wherefore art thou assistance

My Code is not passing the rest of the requirements. I don’t know what is wrong:

Your code so far


function whatIsInAName(collection, source) {
  // What's in a name?
  var arr = [];
  // Only change code below this line
  let filt = collection.forEach(item => {
    Object.keys(source).forEach(key => {
      if (item.hasOwnProperty(key) && item[key] === source[key]) {
        arr.push(item)
      }
    })
  })
  
  // Only change code above this line
  return arr;
}

whatIsInAName([{ "apple": 1, "bat": 2 }, { "bat": 2 }, { "apple": 1, "bat": 2, "cookie": 2 }], { "apple": 1, "bat": 2 });

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36.

Link to the challenge:

if (item.hasOwnProperty(key) && item[key] === source[key]) {
        arr.push(item)
      }

You’re pushing item to arr each time you get a single key-value pair match, but you only want to push item to arr after you’ve confirmed that all key-value pairs in source have a key-value pair match in item.