Lookup Profile with nested if

Tell us what’s happening:
Why does a nested if loop work instead of a else if statement?

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 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
//console.log(contacts[1]["likes"])
}

console.log(lookUpProfile("Akira", "likes"));

Your browser information:

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

Challenge: Profile Lookup

Link to the challenge:

I don’t understand your question. Your code does not include a nested loop.

Hi!

You also can use:

if (someCondition) 
{
        do Something;
}
else if (someOtherCondition) 
{
        do SomeOtherThing;
}
...........
...........

I checked it and it works!

I think wich way you choose to solve a problem is your own decision if nothing is expected as much!

My, bad I meant to say nested if statement. My question is about instead of using a nested if statement, Why I could not have used a else if statement to perform the same action as the nested if statement?

Because the “else” part of else ifmeans that it will only evaluate if all preceding if statements were false.

1 Like

Okay , this makes so much since thank you! @ArielLeslie

I’m glad I could help. Happy coding!