Profile lookup: Where am I going wrong?

Hey, I don’t understand what I’m doing wrong. Or, what I’m doing right for that matter…

I looked at other peoples code. I ADMIT IT :stuck_out_tongue:

I have a better understanding, but I still don’t want to move on till I know how this works.

Please help. This is driving me crazyyy

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

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

I cleaned up your code.
You need to use triple backticks to post code to the forum.
See this post for details.

This is the first thing I noticed. I guess you want to increment as long as i < contacts.length.

You’re forgetting to check whether the first name matches.

    function lookUpProfile(firstName, prop) {

        // Only change code below this line
      
        for (var i = 0; i < contacts.length; i++) {

            if (contacts[i].firstName === firstName) {

                if (contacts[i].hasOwnProperty(prop) === true) {

                    return contacts[i][prop];

                } else if (contacts[i].hasOwnProperty(prop) === false) {

                    return "No such property";
                }

            }


        }

        return "No such contact";



        // Only change code above this line
    }

This is how I did :slight_smile:

I have blurred out your code. Please do not give solutions unless they are explicitly asked for, and even then please use a blur or spoiler tag when you post solutions in public.

My mistake I will keep that in mind. Thank you!