Profile Lookup Challenge Help

I have been stuck at this challenge all night because I thought I get the logic right but it is not working for every scenarios. My code is below, would you mind help me explain which part is going wrong for my code, please? thank you very much

//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(firstName, prop){
// Only change code below this line
for (var i = 0; i < contacts.length; i++) {
if (firstName === contacts[i].firstName) {
if (contacts[i].hasOwnProperty(prop) === true) {
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(“Kristian”, “likes”);

You are almost there! Check what is executed in your loop for each contacts[i]
Is your return “No such contact” ending your loop too soon?
Why is your code working when you look for “Akira” (the first object) and not when looking for subsequent contacts?

I’m sure you can figure out the rest! Good luck! :slight_smile:

1 Like

Thanks gml133F :grinning:
Figured it out !!

1 Like