JS code skipping over "if" and "else if" and straight to else

Tell us what’s happening:
So far the logic behind my conditions in both “if” and “else if” is correct but still as soon as I add “else” it skips if and else if (regardless if they’re correct or not) and return else(as in “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"]
}
];

//THIS IS WHERE THE PROBLEM IS
function lookUpProfile(name, prop){
// Only change code below this line
for(var i = 0; i < contacts.length; i++) {
if(contacts[i]["firstName"] === name && contacts[i].hasOwnProperty(prop)) {
    return contacts[i][prop];   
} else if(contacts[i]["firstName"] === name && !contacts[i].hasOwnProperty(prop)) {
    return "No such property";
} else{
return "No such contact";
}
}
// Only change code above this line
}

console.log(lookUpProfile("Kristian", "like"));
// console.log(contacts[1]);

Your browser information:

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

Challenge: Profile Lookup

Link to the challenge:

Welcome to the forum.

You should only return ‘No such contact’ when you have verified that all contacts do not match. Does your code check every single contact?

1 Like

Lmaoooo, i just now realized. Appreciate it!!!

1 Like