Last active
February 16, 2017 09:29
-
-
Save karanjamutahi/211f255e7643b422eec3417a96180b88 to your computer and use it in GitHub Desktop.
Stuck
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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")); | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Please Help Solve the above problem