"for" loop not looping (Basic JavaScript - Profile Lookup)

Tell us what’s happening:
For some reason, my “for” loop is not looping.

I’ve manually changed the value of “n” and the rest of the code works justi fine. Its just that it isn’t looping for whichever reason.

Your code so far

// Setup
const 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 n = 0; n < 4; n++) {
   /*if (n == 0) {
        return "No such contact";
    } */
     if (contacts[n].hasOwnProperty(prop) == true && contacts[n]['firstName'] === name) {
        return contacts[n][prop];
    }
    else if (contacts[n]['firstName'] != name) {
        return "No such contact";
    }
    else if (contacts[n].hasOwnProperty(prop) == false && contacts[n]['firstName'] != name) {
        return "No such contact";
    }
    else if (contacts[n].hasOwnProperty(prop) == false && contacts[n]['firstName'] == name) {
        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/108.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

As soon as a return statement executes, the function exits regardless if a loop has completed. You need to rethink when and where to use certain return statements for this challenge.

2 Likes

The return statement when evaluated, ends the function.
Maybe, you can perform some action in each if statement and then return your output at the end of the function, outside the if statements.

1 Like

Thank you!! I managed to solve it! I wasn’t aware thar “return” would stop the function

Thank you! I managed to solve it!

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