Basic JavaScript - Profile Lookup

Tell us what’s happening:
For the first test condition (lookUpProfile(“Kristian”, “lastName”)) it keeps failing because the condition (name !== contacts[i].firstName) in my for loop is coming across as true. However, when I console.log it (“Kristian” !== contacts[i].firstName) it comes correctly tests false for (“Kristian” !==contacts[3].firstName).

Basically, when I test the logic of the first condition with console.log, it’s correct. But for some reason, the response on the first condition keeps being “No such contact.”

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) return "No such contact";
    else {
        if (!(contacts[i].hasOwnProperty(prop))) return "No such property";
        else {
          if (name === contacts[i].firstName && contacts[i].hasOwnProperty(prop)) {
                return contacts[i][prop];
           }
        }
    }

 }

  // if (n >= contacts.length) return

  // if check if name === contacts[n].firstName & 
  //    check if contacts.hasOwnProperty(prop)
  // return contacts[i][prop]

  // if !(name == contacts[i].firstName) return "No such contact"
  // if !(contacts.hasOwnProperty(prop)) return "No such property"



  // Only change code above this line
}

lookUpProfile("Akira", "likes");

console.log("Kristian" !== contacts[3].firstName);

Your browser information:

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

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

This will immediately stop your loop, as you are seeing, so it cannot be inside of your loop.

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