Profile Lookup. code is not working

Tell us what’s happening:
I don’t understand what is wrong with my code, i believe it has something to do with the loop, but can’t figure it out.

Your code so far

function lookUpProfile(name, prop){
// Only change code below this line
for(let i = 0; i < contacts.length; i++){
if(name === contacts[i].firstName && contacts[i].hasOwnProperty(prop)){
return contacts[i][prop];
} else if(name !== contacts[i].firstName){
return “No such contact”;
} else if (prop !== contacts[i]){
return “No such property”
}
}
// Only change code above this line
}


// 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++){
if(name === contacts[i].firstName && contacts[i].hasOwnProperty(prop) === true){
return contacts[i][prop];
}   else if(name !== contacts[i].firstName){
    return "No such contact";
}   else if (prop !== contacts[i]){
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/88.0.4324.104 Safari/537.36.

Challenge: Profile Lookup

Link to the challenge:

Return statements immediately stop the function, so this will return the first time you find a name that does not match.

1 Like