Basic JavaScript - Profile Lookup

Tell us what’s happening:
I can’t figure out where I’ve gone wrong.

  **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"
      }
}       
  }
  return "No such contacts";
  };

// Only change code above this line


console.log(lookUpProfile("Bob", "number"));


  **Your browser information:**

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

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

Your code works fine. The issue is the strings that you are returning. Look very closely. Remember that capitalization matters. I changed a few characters and got your code to pass.

Side note, formatting helps you see the logic in your code:

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" // Is this right?
      }
    }
  }
  return "No such contacts";
};
// Only change code above this line
1 Like