Please tell me where I'm wrong

Tell us what’s happening:
I have tried this code. Everything seems to be good. It is matching with the solution provided as well. However, the case where both the name and property are found seems to be not working.

   **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 (let i = 0; i < contacts.length; i++){
   if (contacts[i].firstName === name){        
       if (prop in contacts[i]) {
            return contacts[i][prop];
          } else {                 
            return "No such property";
           }
    }   
   return "No such contact";           
}
}
// Only change code above this line


lookUpProfile("Akira", "likes");
   **Your browser information:**

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

Challenge: Profile Lookup

Link to the challenge:

Hi…
This loop would only run once…
If (contacts[i].firstName === name) is true for i = 0, it returns the appropriate output; else it returns “No such contact” and exits the function…

If return "No such contact"; is shifted to after the loop is closed, you’ll get it to check all values of i:slight_smile:

Hope that helped!

3 Likes

Wow, thank you so much . It really helped. :star_struck:

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.