Hey, can anyone tell me why my "Profile Lookup" code isn't working

Hi, so this is my code so far. When you pass lookUpProfile("Harry", "likes"), it returns “No such contact”.

I was wondering if anybody could tell me what am I doing wrong

// 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 each = 0; each < contacts.length; each++) {
      if (name === contacts[each]["firstName"]) {
          if (contacts[each].hasOwnProperty(prop)) {
              return contacts[each][prop];
          } else {
              return "No such property";
          }
      }
      
  return "No such contact";
}
  // Only change code above this line
}

lookUpProfile("Akira", "likes");

Thanks in advance! :smiling_face_with_three_hearts:
Have a great day!

Notice how you don’t use contacts[each] in the middle? That’s sounds like a solid place for an error.

Also the reason it doesn’t find Harry is because you check EACH NAME if it is Harry. And whenever a name is not the provided one, it returns “No such contact”. Given the first name is “Akira” and a return ends the function → that’s why it cannot find Harry, because you told it to terminate the function before it got there.

1 Like

Thank you, I just solved the problem.
There were two mistakes 1. what you already pointed out (thanks for that)
2. return "No such contact"; was still inside the for loop, not outside.

Thanks again :heart:

1 Like