<Spoiler> Using .hasOwnProperty did not cross my mind. Here's the code I came up with

Tell us what’s happening:

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
var x=0;

for(var i = 0; i<contacts.length; i++){
if(name==contacts[i].firstName){
x= contacts[i][prop];
} 
} 

if(x==""){
return "No such contact";
} else if(x==undefined){
return "No such property"
}

return x;
// Only change code above this line
}

console.log(lookUpProfile("Kristian", "likes"));

Your browser information:

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

Challenge: Profile Lookup

Link to the challenge:

It works, but I have to say I really don’t like the x == "" when it’s never set to an empty string

it’s recommended you use strict equality, to avoid this weird behaviour

1 Like

You can post solutions that invite discussion (like asking how the solution works, or asking about certain parts of the solution). But please don’t just post your solution for the sake of sharing it.
If you post a full passing solution to a challenge and have questions about it, please surround it with [spoiler] and [/spoiler] tags on the line above and below your solution code.

1 Like

I agree that using x=="" is weird. Thank you for the advice, I’ll take note of it for the future.