Basic JavaScript - Profile Lookup

I’m unsure why my code isn’t working when I try to use the && operator for the if statement instead of a nested if statement like in the solution. Would appreciate any feedback.

// 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 && contacts[i].hasOwnProperty(prop)) {
    return contacts[i][prop];
  } else {
    return "No such property"
  }
}
return "No such contact"
// Only change code above this line
}

lookUpProfile("Akira", "likes");


Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

The else body executes every single time the if body doesn’t. This means that you always return during the first loop iteration.

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