Profile Lookup not working

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(name === contacts[i]["firstName"]){
        if(contacts[i].hasOwnProperty(prop)){
            return contacts[i][prop];
        }else if (contacts[i].hasOwnProperty(prop) === false){
        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");

why this not working
“Kristian”, “lastName” should return “Vos”
“Sherlock”, “likes” should return [“Intriguing Cases”, “Violin”]
“Harry”,“likes” should return an array
Your browser information:

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

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

not understand.can you explain it in easy way.

what the thing i need to change in if statement

Your outer if statement is fine. What you need to think about is where to put “No such contact”.

At what point during your code would you be guaranteed that all objects’ firstName properties have been checked against the name argument passed into the function? Currently, you return “No such contact” if the first object in the contact’s array does not have a firstName matching the name argument. There is only one place it makes sense to return “No such contact” and it is not in the else statement code block where you currently have it.

thank you for the help. now i understand.