I got the solution for this challenge from the video and I don't know why it works

Why doesn’t the console, log out "No such contact" no matter what? Since return "No such contact"; is placed outside the for loop, and the if statement is placed inside the for loop, shouldn’t the line return "No such contact"; cause the data variable to always be assigned to "No such contact"?

  **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){
for (let i = 0; i < contacts.length; i++) {
  if(contacts[i].firstName === name) {
    return contacts[i][prop] || "No such property";
  }
}
return "No such contact";
}

let data = lookUpProfile("Sherlock", "number");
console.log(data);
  **Your browser information:**

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

Challenge: Profile Lookup

Link to the challenge:

Remember, a return statement stops the function immediately and returns the value. So if the if statement is true inside the for loop then what is going to happen? In this case, are you ever going to reach the return statement at the end of the function?

Thank you so much :slightly_smiling_face:. I didn’t remember that.

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