What is wrong on this case?

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 (let i = 0; i < contacts.length; i += 1){
if (contacts[i].firstName === name && contacts[i].hasOwnProperty(prop)){
    return contacts[i][prop];
}else if(contacts[i].firstName !== name){
    return 'No such contact';
} else if (contacts[i].hasOwnProperty(prop)){
    return 'No such property';
}
}
// 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/90.0.4430.72 Safari/537.36.

Challenge: Profile Lookup

Link to the challenge:

Hey you need to take a look at your else if statements. You are not allowing the function to fully traverse contacts because if the first contact is not the one you’re searching for the following else if statement has a return statement which exits the loop before the search can be completed. I would recommend not using else if statements at all for this solution and instead stick to only if and else.

Let me know if you need any further help.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.