What is wrong with my code starting from for loop?

Tell us what’s happening:
Describe your issue in detail here.

  **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'] && contacts[i].hasOwnProperty(prop)){
return contacts[i][prop]
}else if(name!=contacts[i]){
 return "No such contact"
}else if(contacts[i].hasOwnProperty(prop)==false){
return "No such property"
}
}
// Only change code above this line
}

lookUpProfile("Akira", "likes");
  **Your browser information:**

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.83 Safari/537.36

Challenge: Profile Lookup

Link to the challenge:

If the name matches the name of the first contact in your array of contacts, and the contact has the property matching prop, this works.

The first if will be true, and the function will return the value of the property.

What happens if the name given to the function doesn’t match the first contact? What does return do?

1 Like

thanks for the help
have a great day ahead

1 Like

but there is one thing why did we have to put the return “no such contact” outside of the loop

Well, what happens in your original code once it’s checked the first contact (regardless of whether it’s a matching name or not)?