Help me I'm stuck T . T

Tell us what’s happening:
I can’t pass this
lookUpProfile("Kristian", "lastName") should return "Vos"

lookUpProfile("Sherlock", "likes") should return ["Intriguing Cases", "Violin"]

lookUpProfile("Harry", "likes") should return an array

**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++) {
    //console.log(contacts[i]);
    
if (contacts[i].firstName === name && contacts[i].hasOwnProperty(prop) === true) {
        return contacts[i][prop];

}else if (contacts[i].firstName !== name) {
        return "No such contact";

}else if (contacts[i].firstName == name && contacts[i].hasOwnProperty(prop) === false) {
        return "No such property";

}
  }
// Only change code above this line
}

var result = lookUpProfile("Sherlock", "likes");
console.log(result);


**Your browser information:**

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

Challenge: Profile Lookup

Link to the challenge:

you have three return statements inside a loop, one of each will always execute. That means that your loop will never go after the first iteration

look at your conditions, ask if you would be able to tell if those conditions are true already just looking at first element

1 Like