Basic JavaScript - Profile Lookup

Tell us what’s happening:
Describe your issue in detail here.
I wrote this ans, but I am unable to clear the test, I don’t know what wet 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"
    }
  }
  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/104.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

You should be working on your debugging skills. There is no such thing as a good programmer that isn’t a good debugger.

The first thing would be to put in the first test and see what happens. Put this at the bottom:

console.log(lookUpProfile("Kristian", "lastName"));

What is that returning? The first 3 tests are failing - what are they returning? It turns out they are all returning the same thing. It turns out that it is for the same reason.

Put some _console.log_s in the code and track what is happening.

I would remind you that return exits the function it is in. Trace through the logic in your for loop.

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