Profile Lookup else statement aint working!

Tell us what’s happening:

I cant seem to figure out why is-int my else statements working. can someone please explain it to me also i cant seem to grasp If-else statements and loops in arrays. 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 (let x = 0; x < contacts.length; x++){
if (contacts [x].firstName === name){
    if(contacts[x].hasOwnProperty(prop)){
        return contacts[x][prop];
    } else {
      return "no such property";
      
    }
}

}
return "no such contacs";
// Only change code above this line
}

// Change these values to test your function
lookUpProfile("Bob", "potato");

Your browser information:

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

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

contacts [x].firstName === name
The first thing that stands out is that you have a space between contacts and [x];

corrected it, still did not make a deference also even with the space in between the if statements were working the problem is with the else statement.

What do you mean when you say it isn’t working? How is it behaving differently than you expect?

when I enter arguments in the function which are not present in the array the else statement is suppose to return me a string “no such contact” and “no such property” which is not the case hence I am confused or made a mistake in the above mentioned code.

If you’re talking about the test cases, look carefully for typos. The spelling, spacing, and capitalization must match the expected values.

2 Likes

Look at the spelling of what you return.

1 Like