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.