Profile look up issue

Tell us what’s happening:
Describe your issue in detail here.
Please I cannot understand why the for loop doesn’t iterate beyond the first object.

  **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 item=0; item < contacts.length; item++){
     if(name === contacts[item]["firstName"] && contacts[item].hasOwnProperty(prop)===true){
         return contacts[item]["firstName"];
     }else if(name !== contacts[item]["firstName"]) {
         return "No such contact";
     }else if(contacts[item].hasOwnProperty(prop)=== false){
         return "No such property"
     }
}
// 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/91.0.4472.124 Safari/537.36

Challenge: Profile Lookup

Link to the challenge:

Because you return something in all the if/else condition blocks. As soon as a return statement executes, the function exits.

2 Likes

hmm, that’s true. so what do you suggest I do ?

think of what you can and can’t know when you have just seen the first element in the array, and consider what is in the wrong place

1 Like

Specifically, when can you say this, logically. If you were doing this task by hand, when can you say this?

1 Like

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