Trouble with Profile lookup function

Tell us what’s happening:
Tried to use a for loop to parse through the objects. My if else statements only work for the negatives (the else statements) but none of the ‘positive’/true statements … anyone know why my current code doesn’t work?

  **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";
    }
  } else {
    return "No such contact";
  }
}

// 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/102.0.0.0 Safari/537.36

Challenge: Profile Lookup

Link to the challenge:

I have tried switching between . and for prop - but it doesnt make a difference

When can you say that none of the contacts match?

1 Like

When the ‘name’ parameter in lookUpProfile(name, prop) does not match a firstName value in the contacts array

The very first time there you find a name that doesn’t match you want to stop looking and declare that no such contact exists?

1 Like

Would the for loop not parse through until the conditions for the loop have been met?

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