Basic JavaScript - Profile Lookup

Tell us what’s happening:
All my codes works well except for :

else if(name !== contacts[i].firstName){
return “No such contact”;
}
when i use this if condition, then the other code will go wrong… Why i cannot just use this method? I would appreciate if anyone can help me…
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 (name === contacts[i].firstName && contacts[i].hasOwnProperty(prop) === true){
        return contacts[i][prop];
      }

    else if(name !== contacts[i].firstName){
         return "No such contact";
    }

    else if(contacts[i].hasOwnProperty(prop) === false)
    {
      return "No such property";
    }
  
  }

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

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

  console.log(name);
  for (let i=0; i<contacts.length; i++){
    console.log(contacts[i].firstName);
    if (name === contacts[i].firstName && contacts[i].hasOwnProperty(prop) === true){
      console.log(“found it!”);
        return contacts[i][prop];
      }

    else if(name !== contacts[i].firstName){
      console.log(“failed!”);
         return "No such contact";
    }

I added some console.log calls to help you debug.

Try using these and notice when they are getting printed out.

sorry i dont understand…

which part you didn’t understand?
(please ask a specific question)

i dont understand for the second else if that i code, why when i use that condition the output is not pass as the first and third condition will go wrong… when i comment the second if else condition, the condition for first and third if else i will get the expected results. that may be due to my second if else condition has problem.

1 Like

have you tried to use the console.log as I showed you?
If you put the log statements in, you will notice something interesting happening.

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