Basic JavaScript - Profile Lookup

Describe your issue in detail here.
I dont seem to understand why else statement won’t execute when the first if statement is false but will execute the return statement .On the other hand else statement will execute after the second if is false

Your code so far

// Setup
const 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"; // Moved outside the loop
  // Only change code above this line
}

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/122.0.0.0 Safari/537.36 Edg/122.0.0.0

Challenge Information:

Basic JavaScript - Profile Lookup

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

Hi @zaabdulq

The two if statements are nested.

If both conditions are true, then return the first return statement.
If the first condition is false, then return the third return statement.
If only the first condition is true, then return the second return statement.

Happy coding

The question was why though since usually else statement is executed when if statement is false

Because the else statement doesn’t go with the first if, it goes with the second if.

1 Like

When the if statement is false, then it skips the second if statement. Since the else statement is part of the second if statement, it is also skipped.

Happy coding

Thanks for the clarification

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.