hi, i am doing the profile lookup challenge, can somebody point out the problem in the code.
here is my code:
function lookUpProfile(name, prop){
// Only change code below this line
for(var i=0; i< contacts.length; i++)
{
if(name==contacts[i].firstName)
{ // check for the first name
if(contacts[i].hasOwnProperty(prop))
{ //checks for the given prop
return contacts[i][prop];
}else
{ // if not found
return âNo such propertyâ;
}
}else
{ //no name exists
return âNo such contactâ;
}
}
// Only change code above this line
}
// Change these values to test your function
console.log(lookUpProfile(âKristianâ, âlastNameâ));
Hey @adarshk010,
Use the âAsk for helpâ button on challenge page whenever you need help with any of the challenges. It formats your code properly and also gives link to your challenge.
here is the function, sry
âââ function lookUpProfile(name, prop){
// Only change code below this line
for(var i=0; i< contacts.length; i++)
{
if(name==contacts[i].firstName)
{ // check for the first name
if(contacts[i].hasOwnProperty(prop))
{ //checks for the given prop
return contacts[i][prop];
}else
{ // if not found
return âNo such propertyâ;
}
}else
{ //no name exists
return âNo such contactâ;
}
}
// Only change code above this line
}
// Change these values to test your function
console.log(lookUpProfile(âKristianâ, âlastNameâ));
Tell us whatâs happening:
only 3 errors remain , but i canât seem to find any more error. please need help
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(name==contacts[i].firstName)
{ // check for the first name
if(contacts[i].hasOwnProperty(prop))
{ //checks for the given prop
return contacts[i][prop];
}else
{ // if not found
return 'No such property';
}
}else
{ //no name exists
return "No such contact";
}
}
// Only change code above this line
}
// Change these values to test your function
console.log(lookUpProfile("Kristian", "lastName"));
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36.
You need to understand the difference between dot and bracket notation.
contacts[i].firstName JS will treat firstName as a string and will look for a property called âfirstNameâ (which, in this case, doesnât exist). contacts[i][firstName] whereas, when bracket notation is used, JS treats firstName as a variable and will use whatever that variable is referencing.
Well, it looks like the OP is looking up based on first name, and returning a given objectâs property when that first name has matched. Were the OP using contacts[i].prop rather than contacts[i][prop], Iâd be worried.