Hi all. I’m hoping someone can help me understand what is wrong with this code as I’m just starting on JS and I’ve been stuck on trying to find out exactly what is happening. It seems to work fine when I remove the last else
in the function but I don’t get why that is. I would have thought at least both options were valid.
I would really appreciate some input.
My 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][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
var profile = lookUpProfile("Harry", "lastName");
console.log(profile);
Browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
.
Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup/