Not able to return no such contact

Tell us what’s happening:

I am not able to return “No such contact”

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 (contacts[i].firstName === name) {
   if (contacts[i].hasOwnProperty(prop))
        {return contacts[i][prop];}
            else {return "No such contact";}  
        }
    }
return "No such property";
// Only change code above this line
}

lookUpProfile("Akira", "likes");

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36.

Challenge: Profile Lookup

Link to the challenge:

Try to put your code into words.

If the first name matches, then if the property exists and if it’s doesn’t return No Such Contact. If no names match, return No Such Property.

It will greatly help you read your code if you fallow standard indentation and bracket conventions.

function blarg(args) {
  for (let i = 0; i < foo; i++) {
    if (cond1) {
      if (cond2) {
        // Do stuff
      } else {
        // Do different stuff
      } 
  }
  // Do even more different stuff
}