Profile Lookup - Help Please!

Tell us what’s happening:
test result (it seems sth wrong with my first IF)

// running tests

"Kristian", "lastName" should return "Vos"

"Sherlock", "likes" should return ["Intriguing Cases", "Violin"]

"Harry","likes" should return an array

// tests completed

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

// Only change code above this line
}

// Change these values to test your function
lookUpProfile("Akira", "likes");

Your browser information:

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

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

The problem is that your code will only ever check the first item in contacts. On the first iteration of the loop it always returns either the property value, the string ‘No such property’, or ‘No such contact’.

1 Like

Got it!! Thank you very much!:laughing:

Congratulations! Happy coding.