What's wrong with my code? It's the same as one of the solutions? But it never passes

Tell us what’s happening:
Describe your issue in detail here.

  **Your code so far**
// Setup
const 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
for(let i=0; i<contacts.length; i++){
  if (contacts[i].firstName==name){
    if(contacts[i].hasOwnProperty(prop)){
      return contacts[i][prop];
    } else {
      return "No such property";
    }
  } else {
    return "No such contact";
  }
}
// Only change code above this line
}

lookUpProfile("Akira", "likes");
  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.41

Challenge: Profile Lookup

Link to the challenge:

With your current algorithm, you will return “No such contact” if the first object’s firstName property does not match name. Why? Because your if statement’s else code returns “No such contact”. Once a return statement is triggered, the function exits immediately.

Your function is not the same as any of the examples.

Thanks a lot. Yes, I put ‘return “No such contact”’ in a wrong spot.