Javascript return not working

//Setup
var contacts = [
    {
        "firstName": "Akira",
        "lastName": "Laine",
        "number": "0543236543",
        "likes": ["Pizza", "Coding", "Brownie Points"]
    },
    {
        "firstName": "Harry",
        "lastName": "Potter",
        "number": "0994372684",
        "likes": ["Hogwarts", "Magic", "Hagrid"]
    },
    {
        "firstName": "Sherlock",
        "lastName": "Holmes",
        "number": "0487345643",
        "likes": ["Intriguing Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["JavaScript", "Gaming", "Foxes"]
    }
];


function lookUpProfile(name, prop){
// Only change code below this line
  contacts.forEach(contact => {
      if (contact.hasOwnProperty("firstName")) {
          if (contact["firstName"] == name) {
              if (contact.hasOwnProperty(prop)) {
                  console.log(`found ${contact[prop]}`);
                  return contact[prop];
              } else {
                  return "No such property"
              }
          }
      } else {
          return "No such contact"
      }
  })
  

  
// Only change code above this line
}

// Change these values to test your function
lookUpProfile("Akira", "likes");

Can you explain what you mean by return not working? What are you expecting that it is not doing?

Your return statements are returning from the forEach callback, you don’t have anything returning from the lookUpProfile function, if this the thing

Using return inside of a forEach loop will not break the loop. After running your code with lookUpProfile("Akira", "likes"); I can see the related console.log(), but since you can’t return out of a forEach loop your function is returning undefined.