Wherefore art thou help needed!

Tell us what’s happening:
Can anyone tell me why the the following code doesn’t pass the test…?

Your code so far

function whatIsInAName(collection, source) {
  // "What's in a name? that which we call a rose
  // By any other name would smell as sweet.”
  // -- by William Shakespeare, Romeo and Juliet
  var srcKeys = Object.keys(source);

  // filter the collection
  return collection.filter(obj=> {
      if(!obj.hasOwnProperty(key) || obj[key] !== source[key]) {
        return false;
    return true;

// test here
whatIsInAName([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36.

Link to the challenge:

The reason is one of the most annoying things about the forEach method. You can exit from a forEach method only if you throw an exception (no return, no breaks etc.). Use a general for or a for of and it should work. :slight_smile: