In some tests the function doesn't work correctly

Tell us what’s happening:
Describe your issue in detail here.
Hello friends, in my solution some tests doesn’t work correctly. I tried to find my wrong line but I couldn’t find, Please help me in finding where is my wrong?.
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) {
//0 Only change code below this line
for( var i= 0; i<contacts.length;i++){
  if (name ===contacts[i]["firstName"] && contacts[i].hasOwnProperty(prop)){
     return contacts[i][prop];
  else if (name !== contacts[i]["firstName"]){
      return "No such contact";

  else if (contacts[i].hasOwnProperty(prop)===false){
      return "No such property";
// Only change code above this line

var a=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/92.0.4515.131 Safari/537.36

Challenge: Profile Lookup

Link to the challenge:

It is good to give error information.
Makes it easier to help.

Your for loop stops after first iteration.

else if (name !== contacts[i]["firstName"]){
      return "No such contact";

You get your first object, “Akira Laine”.
The first name is not ‘Kristian’, so your function returns “No such contact”.
The end.

What you need to do is return “No object” or “No property” only after your loop checked every object.

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