Profile Lookup .I was not able to complete this exercise and i am not understanding what is wrong with my code

Tell us what’s happening:

Your code so far


//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
for(var 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
}

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

Your browser information:

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

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup

Remember that when a return statement is encountered, the function exits immediately. In your code, within the first iteration of the for loop, if the firstName property of the object is not equal to name, then you return “No such contact”. You need to wait on returning this particular string until you have iterated through all the of objects in the contacts array.