Profile Lookup .js

Tell us what’s happening:

I don’t know if I am being stupid? but it’s getting me down and making me think if I will ever remember everything that I am learning ?!..
Just when I think that I am doing great. I get unstuck by something which I should know already.

I need to find the solution of returning “No such contact”. Help please sirs and madams.

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 property";
      }
   }
} //return "No such contact";

// Only change code above this line

// Change these values to test your function
lookUpProfile("Akira", "Pizza");

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup/

Put this line inside your function without commenting it out and your function should work.
Hope this helps.

The logic is this:

Loop through every contact, and check each if it matches name. If it DOES, then does it contain the given property? Handle both those cases (yes it does and no it doesn’t). That bit you’ve got down pat.

However, what happens if you’ve looped over every record and HAVEN’T found a match? At that point, where are you in your code? That would logically be the point to alert the calling function of the “no such contact” error.