Basic JavaScript - Profile Lookup, *help understanding solution*

Tell us what’s happening:
There’s one thing in this code that I don’t understand. In the function “lookUpProfile” I see that if I pass (“Kristian”, “Likes”) it will return Kristian’s likes. However, it still says “return ‘No such contact’” at the end of the function. It has no conditions, so it seems like it should just return the string at the end of the function. Shouldn’t BOTH Kristian’s likes AND the string “No such contact” be returned? I see that it does not, but can someone explain why?

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 (name == contacts[i].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
}

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

Your browser information:

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

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

A function can’t return more than one time, returning exits the function.

1 Like

This clarifies it! thank you!

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