Basic JavaScript - Profile Lookup

Tell us what’s happening:
Describe your issue in detail here.
this code is not working for such case(1) in which we have to return the value of property. the code is similar to the solution of this problem that is available at the freecodecamp site. problem is :- A lookUpProfile function that takes name and a property (prop) as arguments has been pre-written for you.

The function should check if name is an actual contact’s firstName and the given property (prop) is a property of that contact.
case(1):-If both are true, then return the “value” of that property.

case(2):- If name does not correspond to any contacts then return the string No such contact.

case(3):- If prop does not correspond to any valid properties of a contact found to match name then return the string No such property.
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(var i=0;i<contacts.length;i++){
  if(contacts[i].firstName === name){
    return contacts[i][prop] || "No such property";
  }
  return "No such contact";
  }

  // Only change code above this line
}

lookUpProfile("Akira", "likes");

Your browser information:

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

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

A return statement immediately stops the function, even in the middle of a loop.

1 Like

it also not working when I use else statement to it .

The else statement still has the return statement executing inside of the loop.

You’re basically saying - Stop looking if you find one name that doesn’t match.

1 Like

Thank You.problem is solved.

1 Like