Profile Lookup - confused with console log output

Profile Lookup - confused with console log output
0.0 0

#1

Tell us what’s happening:
Hi everybody,

I understand the code it gives me property which I need if name and property exsists, but can someone explain to me why even if I have one contact in array lets say Akira, and I get returned the property which I’m looking for let’s say lastName will return Laine, why at the end the console log will still return No such Contact one time?

Also if I have all four contacts in the array I will still get alongside correct name and property data 4 times No such contact?

Hope that someone will understand my question.

Ty

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(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)) {
            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", "likes");

Your browser information:

Your Browser User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36.

Link to the challenge:


#2

I’m not sure I understand your question. When I run this in codepen, I don’t get the “No such contact” message for valid contacts.

I notice that in the tests listed:

"Kristian", "lastName" should return "Vos"
"Sherlock", "likes" should return ["Intriguing Cases", "Violin"]
"Harry","likes" should return an array
"Bob", "number" should return "No such contact"
"Akira", "address" should return "No such property"

two of them involve confirming that the errors work properly. Could this be what you’re seeing?


#3

Ok I will insert an image from a local testing environment.


#4

That is different code than you posted. In your posted code, you are using return statements (correctly), but in your image, there is no return, just the console.log. So, even when it finds the correct prop, it doesn’t exit the function, it just continues on. If you want to add console.log statements for debugging, then you need to do them and the return statements.


#5

Ok didn’t know that just learned something new. Thanks for the fast response and explanation.