Basic JavaScript - Profile Lookup

Tell us what’s happening:
hi im new here and am really struggling to figure out what is not working in my code.
the output command that ive commented, accurately returns the array. But the return statement says “undefined” in the console.

ive tried to keep the code clean and i apologise if im unable to convey my problem clearly. Im just so confused and stuck :frowning:

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
let len=contacts.length;
let i=0;
for(i=0;i<len;i++)
{
  if(name===contacts[i].firstName)
  {
    if(contacts[i].hasOwnProperty(prop))
    {
      //console.log(contacts[i][prop]);
      return contacts[i][prop];
    }
    else
    {
      return "No such property";
    }
  }
  else
  {
    return "No such contact";
  }
}
  // Only change code above this line
}

lookUpProfile("Akira", "likes");

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

Can you write out what your algorithm is in plain English? Just step by step, how would you solve this as a human with a list of people on a sheet of paper.

The reason I ask is because currently your algorithm looks kinda like this:

Check the first contact:
If they match the name then […]
Otherwise say there’s “No such contact”

You never look at any person beyond the first. Don’t you need to check all of the contacts before saying that none of them match?

1 Like

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