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.