Skip to content

Instantly share code, notes, and snippets.

@karanjamutahi
Last active February 16, 2017 09:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save karanjamutahi/211f255e7643b422eec3417a96180b88 to your computer and use it in GitHub Desktop.
Save karanjamutahi/211f255e7643b422eec3417a96180b88 to your computer and use it in GitHub Desktop.
Stuck
//Here's the problem
/*
We have an array of objects representing different people in our contacts lists.
A lookUpProfile function that takes firstName and a property (prop) as arguments has been pre-written for you.
The function should check if firstName is an actual contact's firstName and the given property (prop) is a property of that contact.
If both are true, then return the "value" of that property.
If firstName does not correspond to any contacts then return "No such contact"
If prop does not correspond to any valid properties then return "No such property"
*/
//My Solution
//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(firstName, prop){
// Only change code below this line
for(var i =0;i<contacts.length;i++){
if (contacts[i].firstName===firstName && contacts[i].hasOwnProperty(prop)===true){
return contacts[i][prop];
}
else if (contacts[i].firstName===undefined){
return "No such contact";
}
else if (contacts[i].hasOwnProperty===false){
return "No such property";
}
}
// Only change code above this line
}
// Change these values to test your function
lookUpProfile("Akira", "likes");
//Found the Solution from StackOverflow
//A Nested if statement
/*
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(firstName, prop){
// Only change code below this line
for(var i =0;i<contacts.length;i++){
if (contacts[i].firstName===firstName){
if(contacts[i].hasOwnProperty(prop)===true){
return contacts[i][prop];
}
else {
return "No such property";
}
}
}
return "No such contact";
}
//No such contact
console.log(lookUpProfile("Donald", "likes"));
//No such property
console.log(lookUpProfile("Sherlock", "locks"));
//returns value of property
console.log(lookUpProfile("Kristian", "likes"));
*/
@karanjamutahi
Copy link
Author

Please Help Solve the above problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment