Profile Lookup ,code running but not passing all test

i am out of ideas on how to do this someone please help me i have tried everything

Your code so far


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

// Only change code above this line
}

// Change these values to test your function
lookUpProfile("Kristian", "lastName");

Your browser information:

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

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup/

As soon as a return statement is executed, the function exits. You need to rethink your logic, so that you only return when it is time. With your current code, only the first object is evaluated before something is returned and the function exits.

EDIT: As noted by @lekha, that switch() is out of place (not needed).

why do you have switch() at the start of the for loop?

Also, looks like you’re returning before the function has the chance to look through all the contacts (as in, if contacts[0] doesn’t match what you’re passing in, it returns “No such contact”, ending the for loop and exiting the function)

1 Like