Why my code is not working, I dont understand

Where do i make mistake?

  **Your code so far**

// Setup
var 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 (var i=0; i < contacts.length; i++) {
if (name === "firstName" && contacts[i].hasOwnProperty("prop") === true) {
return contacts[i][prop];
}

else if(name !== "firstName") {
  return "No such contact"
}
else if (name === "firstName" && contacts[i].hasOwnProperty("prop") === false) {
  return "No such property"
}
}
// Only change code above this line
}

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

Challenge: Profile Lookup

Link to the challenge:

contacts[i].hasOwnProperty("prop")

This is checking to see if contacts[i] has the property “prop” (because you are passing hasOwnProperty the string "prop". I don’t think that is what you want. None of these have the property “prop” so it will always return false.

You want to check if contacts[i] has the property that is stored in the variable prop passed into the function. What do you need to change in order to do this?

1 Like

I’m sorry but I dont know what to do. I understand my mistake but all I did was delete the quotes but it didn’t work. What do I need to do in order to solve this.

this comparison is never true, name will never have value of the string "firstName"

ok ı understand thank you

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